これまでのところ、このプログラムはクライアントからサーバーにメッセージを送信していました。しかし、クライアント側から「200ロールダイス」が入力され、サーバ側で処理され、すなわちリストが生成される。情報(リスト)をクライアントに送り返すことはありません。代わりにそれはちょうど停止します。Pythonソケット:リストの入力後にサーバー側が応答しない
例:接続したユーザー:ロールダイス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()