gpt4 book ai didi

python - 从套接字接收数据时脚本挂起

转载 作者:太空宇宙 更新时间:2023-11-03 20:57:19 25 4
gpt4 key购买 nike

这是我从客户端接收数据的 Python 脚本:

import time
import socket

HOST = ''
PORT = 8888
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print('Socket created')

try:
s.bind((HOST, PORT))
except socket.error as socketError:
print('socket binding failed, ', socketError)
print('Exiting...')
sys.exit(0)

print('Socket binding complete')

s.listen(1)
print('Socket listening for connection...')

conn, addr = s.accept()

print('connected to ', addr[0])

bfr = b''
try:
while True:
while True:
temp = conn.recv(1024)
print('temp is ',temp.decode('utf-8'))
print('buffer value ', bfr.decode('utf8'))
if not temp:
break
bfr += temp;
data = bfr.decode('utf-8')
bfr = b''
print('value received,', data)
if data == 'Connection-Ready to receive commands':
print('')
#other conditions
except Exception as loopException:
print("Exception occurred in loop, exiting...")
finally:
s.close()

脚本打印后挂起已连接到 192.168.4.197并且不接受来自客户端的任何命令。如果客户端断开连接,则打印所有发送命令。

为什么会这样?

更新 1

尝试删除内部 while 并添加 time.sleep(.10) ,脚本没有挂起,但只有第一个命令按原样打印,其余命令在打印后带有换行符第一个字符,例如,如果我发送 10,它将首先打印 1,然后在另一行打印 0。我想要的只是获取从客户端发送的命令,每个命令都是单个单词。

最佳答案

也许尝试sendall来确保数据从客户端完整发送?

关于python - 从套接字接收数据时脚本挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55928888/

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