ConnectionResetError:ピアによって[エラー番号54]接続リセット

著作権:転載へようこそが、ソースおよび記事の著者を明記してください。https://blog.csdn.net/handsomehuo/article/details/90900708

症状:ConnectionResetError:[errnoが54]接続ピアによってリセット

問題の説明:著者のソケットプログラミング中に発生した問題

問題原因:サーバー側のパラメータと意識のクライアント側の不足。

クライアント端末addrが固定されているので、クライアント側、サーバ側に渡され、したがってかRECVを送信のみs.send()s.recv()は次のように。

しかし、サーバ側のために、2種類のパラメータがあり、形式は次のとおりです。

<socket.socket FD = 4、家族= AddressFamily.AF_INET、タイプ= SocketKind.SOCK_STREAM、プロト= 0、LADDR =( '127.0.0.1'、9999)、RADDR =( '127.0.0.1'、49362)>(」 127.0.0.1' 、49362)

 だから、実際の動作は、区別するとき:

sock, addr = s.accept()

受信し、必要なsock.send(送信)とsock.recv()ではなく、s.send()とs.recv()。

根深いロジックがあります:

  1. ソケットモジュールは、プログラミングを容易にするために、アプリケーション層のTCP / IPプロトコルをカプセル化します。
  2. ソケットサーバー側は、TCP3ハンドシェイクにより、クライアント側と連絡を取って、受信するための責任があります。
  3. サーバー側のソケットのクライアント側での私たちの靴下ソケットは別のRESVを送ることができますので、実際には同じ機構であり、
  4. 待機ソケットのサーバーの多くの靴下の終わり、および異なるクライアント通信のために。

 

おすすめ

転載: blog.csdn.net/handsomehuo/article/details/90900708