gpt4 book ai didi

Python套接字: Server side not responding after the input of list

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:54 24 4
gpt4 key购买 nike

到目前为止,该程序已多次从客户端向服务器发送消息并返回。然而,当从客户端输入“200 Roll Dice”时,并在服务器端进行处理,即生成一个列表。它不会将信息(列表)发送回客户端。相反,它只是停止了。

例如:来自连接的用户:200 Roll Dice [1,5,2,3,3]- 从此时起它就停止响应。我似乎无法确定问题所在。

下面是代码片段:

def Main():
host = "127.0.0.1"
port = 5010

mySocket = socket.socket()
mySocket.bind((host,port))

mySocket.listen(3)
conn, addr = mySocket.accept()
print ("Connection from: " + str(addr))
while True:
data = conn.recv(1024).decode()
if not data:
break
print ("from connected user: " + str(data))

diceRoll = rollDice() # rollDice function produces a list of random numbers


if data == '200 Roll Dice':
dicedata = input(diceRoll)
conn.send(dicedata.encode())
else:
data = input(" ? ")
conn.send(data.encode())


conn.close()

最佳答案

问题出在这里:

if data == '200 Roll Dice':
dicedata = input(diceRoll)
conn.send(dicedata.encode())

您将列表显示为提示文本,而不是将其发送回客户端。您应该执行以下操作:

if data == '200 Roll Dice':
conn.send(str(diceRoll).encode())

这会将列表(作为字符串)发送回客户端。如果您想将其作为列表发送 - 您应该使用pickle模块。

关于Python套接字: Server side not responding after the input of list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618861/

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