【发布时间】:2021-04-30 04:13:54
【问题描述】:
我正在创建一个套接字程序。服务器始终监听客户端请求并发送响应。当用户在 GUI 中单击按钮时,客户端将向服务器发送请求。
我的问题是当我单击服务器 GUI 中的关闭按钮时,我想通知客户端服务器已关闭。我想出了一个想法,即创建一个与客户端的新连接总是监听服务器,但我认为这是在浪费资源。
server.py
while True:
try:
request = client.recv(BUFSIZE).decode('utf-8')
except ConnectionResetError:
logging.info(str(client.getsockname()) + ' has exited')
break
except Exception as e:
continue
if request:
try:
request = json.loads(request)
response = self.__handle_request(request, client).encode()
client.send(response)
client.py
# when user client button
sock.send(request)
response = sock.recv().decode()
render(response)
【问题讨论】: