From 4222354358c85654fe12abcc54a9389cf74bd292 Mon Sep 17 00:00:00 2001 From: Aaron Date: Tue, 16 Sep 2025 14:59:42 +0800 Subject: [PATCH] =?UTF-8?q?09-16-=E5=91=A8=E4=BA=8C=5F14-59-42?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03.网络编程与并发/01.网络编程基础.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/03.网络编程与并发/01.网络编程基础.md b/03.网络编程与并发/01.网络编程基础.md index a72bd71..d3e71b8 100644 --- a/03.网络编程与并发/01.网络编程基础.md +++ b/03.网络编程与并发/01.网络编程基础.md @@ -215,6 +215,7 @@ import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bind(('127.0.0.1',8080)) +phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) phone.listen(5) while 1: @@ -222,16 +223,16 @@ while 1: print(conn,client_addr,sep='\n') while 1: - try: + if conn: from_client_data = conn.recv(1024) + if len(from_client_data) == 0 or from_client_data.decode('utf-8') == 'q': + # 如果客户端返回为空或者q,说明已经断开 + break print(from_client_data.decode('utf-8')) - conn.send(from_client_data.upper()) - except: + else: break -conn.close() -phone.close() ``` 客户端 @@ -244,9 +245,11 @@ phone.connect(('127.0.0.1',8080)) while 1: client_data = input('>>> ') + if len(client_data.strip()) == 0: + continue phone.send(client_data.encode('utf-8')) - if client_data == 'q':break - + if client_data == 'q': + break from_server_data = phone.recv(1024) print(from_server_data.decode('utf-8'))