0

次の TCP ソケット サーバー/クライアントの例を使用しています: http://www.codeguru.com/Csharp/Csharp/cs_network/sockets/article.php/c8781/

次の CryptoStream の例も使用しています: http://www.obviex.com/samples/Encryption.aspx

問題: サーバー ソケットを停止し、1 分ほど待ってからサーバー ソケットを開始するまで、サーバーとクライアントの両方が完全に通信します。常にではありませんが、「Convert.FromBase64String(cipherText);」行の Encryption.aspx で base64 エラーを受け取ることがあります...

おそらくソケットを停止したために残ったバッファに、正しくない/破損したデータがあることを私は知っています。その後、新しいデータが入り、エラーが発生します。

Q. 'class SocketPacket;' をクリアします。この問題を解決しますか?

Q. 「クラス SocketPacketsocketBuffer」をクリアするにはどうすればよいですか?

他の提案は大歓迎です..

4

1 に答える 1

0

発生していることの 1 つは、ソケットの 1 つが適切に閉じられていないことです。ソケットに関する問題は、ソケットが正しく閉じられていることを確認するか、アドレスを再利用するようにサーバー ソケットを設定する必要があることです。

sysinternals から tcpview を試して、ソケットのステータスを表示します。netstat を使用して、ソケットのステータスを表示することもできます。

于 2009-05-08T22:39:39.090 に答える