AcaniChat という iPhone アプリを作成しています。サーバーは Node.js ws モジュールを使用します。Node.js ws close コールバック関数は、接続が終了するたびに呼び出されることが保証されていると仮定できますか? 突然、手榴弾で iPhone を爆破してしまったら?close はサーバー上で呼び出されますか?
1 に答える
0
いいえ。クライアントがソケットを閉じると、TCP接続は閉じられますが、サーバーソケットは「開いたまま」になりますが、ソケットをさらに操作すると、エラー(またはクライアントが接続を閉じたことを示す)が発生します。
電話がグラネードで爆破された場合、TCP接続は正常に閉じられず、サーバーソケットでそれ以上の操作を行うと、エラーが発生します(クライアントがソケットを閉じた場合のエラーとは異なります)。
したがって、ソケットを閉じると、接続が閉じられ(まだ閉じられていない場合)、ソケットオブジェクトに使用されているローカルシステムリソースが解放されます。したがって、すべての場合にcloseを呼び出す必要があります。
于 2012-09-18T03:02:26.010 に答える