gpt4 book ai didi

python - 如何在python3中刷新/清除套接字中的缓冲区

转载 作者:行者123 更新时间:2023-12-03 12:07:56 25 4
gpt4 key购买 nike

如何在python3中刷新套接字?

我正在寻找做这样的事情

def clear_buffer(sock):
try:
while sock.recv(1024): pass
except:
pass

或者
def clear_buffer(sock):
while True:
data = sock.recv(1024)
if not data:
break

尝试运行这两个函数后,似乎都没有中断while循环和/或从传入数据中清除套接字。当套接字停止接收数据时,我该如何有条件地执行某些操作?

最佳答案

        while run_network:
recv = True
data = b''


try:
while recv:
try:
packet = socket.recv(10240)
if packet:
data += packet
else:
recv = False
try:
pickle.loads(data)
recv = False
except:
recv = True

except ConnectionResetError:

print(f"{client} has disconnected........")
break
except ConnectionError:
**strong text**
print(f"{client}has a Connection Error.....")
break

关于python - 如何在python3中刷新/清除套接字中的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59195680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com