0

Socket.Connectedを使用して、まだ接続されているソケットがSslStreamを壊すかどうかを判断するかどうかを知りたいです。

4

2 に答える 2

2

Socket.IsBoundが接続されているかどうかはチェックしませんSocketSocketaがローカルポート番号にバインドされているかどうかを確認します。だからいいえ。他の場所で何か間違ったことをしている可能性があります。

サポートドキュメント

ソケットが接続されているかどうかを確認するにはSocket.Connectedを使用します

于 2012-10-15T23:43:31.550 に答える
0

いいえ、実際にはソケットに対して何も行わないため、そうすべきではありません。もう一方の端のサーバーがまだそこにあるかどうかを把握しようとしていますか?その場合、このプロパティは接続が予期せず中断されたかどうか(プログラムのクラッシュ、ネットワークのダウンなど)を通知しないため、何らかの種類のpingを設定することをお勧めします。

MSDNから:

Connectedプロパティは、最後のI/O操作の時点でのソケットの接続状態を取得します。falseが返された場合、ソケットは接続されていないか、接続されていません。

Connectedプロパティの値は、最新の操作の時点での接続の状態を反映しています。接続の現在の状態を判別する必要がある場合は、ノンブロッキングのゼロバイトの送信呼び出しを行います。呼び出しが正常に戻るか、WAEWOULDBLOCKエラーコード(10035)をスローした場合、ソケットは接続されたままです。そうしないと、ソケットは接続されなくなります。

ユーザーデータグラムプロトコル(UDP)ソケットでConnectを呼び出すと、Connectedプロパティは常にtrueを返します。ただし、このアクションは、UDPの固有のコネクションレス型の性質を変更しません。

于 2012-10-16T02:21:24.107 に答える