套接字服务器断开并重新连接缓冲区错误?

时间:2009-05-08 20:04:06

标签: c# .net sockets buffer clear

我正在使用以下TCP套接字服务器/客户端示例:http://www.codeguru.com/Csharp/Csharp/cs_network/sockets/article.php/c8781/

我也在使用以下CryptoStream示例: http://www.obviex.com/samples/Encryption.aspx

问题:服务器和客户端都完美通信,直到我停止服务器套接字,等待一分钟左右,然后启动服务器套接字。有时但并非总是我在Encryption.aspx上的'Convert.FromBase64String(cipherText);'...

一行中收到base64错误

我知道缓冲区中的数据不正确/已损坏,可能会因停止套接字而遗留下来。然后新数据进入并发生错误。

Q值。将清除'类SocketPacket;解决这个问题?

Q值。如何清除'class SocketPacketsocketBuffer'?

非常感谢其他建议。

1 个答案:

答案 0 :(得分:0)

您可能会发现其中一件事情是其中一个插座没有正常关闭。带套接字的东西是你需要确保它们被正确关闭,或者你设置服务器套接字以重用地址。

尝试从sysinternals中查看tcpview以查看套接字的状态。您还可以使用netstat查看套接字的状态。