1

Python で TCP クライアントを開発していますが、次の問題があります。サーバーに接続し、データを送信すると、予想されるデータが返されますが、この後、自分のアプリケーション (クライアント) が [FIN, ACK] を送信します (wireshark で確認)。ここに私のクライアントアプリがあります:

try:
    sock = socket(AF_INET, SOCK_STREAM)
    sock.bind((my_ip,my_port))
    sock.connect((sendAddress,sendPort))
    sock.send(joinRequest)
    joinResponse = sock.recv(18)
    print joinResponse

except socket.timeout:
    sock.close()
4

1 に答える 1

1

これは SocketServer のデフォルトの動作であり、接続を受け入れ、要求を取得してから接続を閉じます。

簡単な方法は、while ループを使用して接続を維持することです。sock.settimeout を使用してタイムアウトを調整することもできます

于 2013-10-21T11:48:27.507 に答える