到目前爲止,該程序已經從客戶端發送消息到服務器並返回幾次。然而,當從客戶端輸入'200 Roll Dice'時,並且在服務器端處理,即產生列表。它不會將信息(列表)發送回客戶端。相反,它只是停止。Python Socket:輸入列表後服務器端沒有響應
例如:來自已連接的用戶:200卷骰子 [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()