0
A
答えて
2
は、あなたが何をやっているやっている方法によっては、は、接続が任意に切断された場合に発生することができSIG_PIPE
を処理する必要があります。
他の信号を処理する必要はありません。
あなたがselect()
またはpoll()
か(個人的な好み)を使用している場合epoll()
あなたがエラーをチェックする必要があり(例えば、POLLHUP
)あなたは、読み取り/書き込みの可用性をチェック前。
また、戻り値は常にread()/write()/send()/recv()
であることを確認する必要があります。エラーがある場合は-1を返しますが、0を返した場合は、もう一方の接続が切断されたことを意味します。つまり、0の読み取りは、0バイトが読み取られたことを意味しますが、接続はまだ良好です。そうではありません。ソケットを閉じます。これはPOSIXによって規定されています。
関連する問題
- 1. WinRT StreamSocketの処理(サーバー側とクライアント側の両方)
- 2. html/javascriptの流星のサーバー側ソケットとクライアント側ソケットの接続方法
- 3. jqGridデュアルページング(クライアント側とサーバー側の両方)
- 4. Androidのソケット - クライアント側のIOException
- 5. 遅延の未処理エラー? TwistedでUNIXソケットを使用する
- 6. クライアントが閉じたサーバー側ソケットに依然として送信することがあります
- 7. CommunicationExceptionsはWCFのサーバー側で処理する必要がありますか?
- 8. クライアント側のソケット接続
- 9. ソケットC++サーバー/ Javaクライアント経由でintを送信する方法
- 10. WebソケットとNetty - 受信したメッセージの種類on messageReceived
- 11. C#ソケット:サーバーとクライアントを作成する
- 12. Javaソケット - クライアント側からの明示的なフィードバックが必要ですか?
- 13. クライアント - サーバー接続/通信(javaソケット)
- 14. クライアントが自分のサーバーのコードでソケット
- 15. 任意の双方向UNIXソケット通信
- 16. .NETソケットの問題:サーバー側でサーバー
- 17. 従来のOCSPとOCSPステープルの両方をクライアント側で処理する方法
- 18. クライアント側とサーバー側の両方からHTMLを入力する
- 19. ソケットのタイムアウトが発生すると、 (Unix)
- 20. クライアント側からソケットを追加する
- 21. Pythonソケット:同じソケットで複数の接続を処理する
- 22. イメージのアップロードと処理、サーバー側またはクライアント側?
- 23. 私は、クライアント側でサーバー通信にWebソケットを使用したいと考えています。
- 24. TcpClientソケットでのエラー処理
- 25. Bjoern WSGIサーバーのUNIXソケットのアクセス許可
- 26. UNIXソケットエラー:非ソケットでのソケット操作
- 27. ソケットを介した通信:1台のサーバーと2台のクライアント
- 28. マークダウンパーサーをクライアント側またはサーバー側にする必要があります
- 29. Javaソケット、サーバーは複数のクライアントにメッセージを送信します
- 30. Unix上のソケットを使ってCでファイル(サーバ/クライアント)を送受信する
私のコードの最初のバージョンでは、サーバー上でセグメンテーションフォルトが発生したとき、クライアントは無限ループに行きます... その場合、クライアントもSIG_PIPEを受信しましたか? – giozh
@SvenMarnach私は既に両方の側でタイムアウトを使用しています(ただalarm()関数を使用しています)が、他の種類のシグナルがあるかどうかを知りたいと思います:) – giozh
@SvenMarnach:タイムアウトまたはスレッドあなたは何か間違っている。 – delicateLatticeworkFever