我正在使用以下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'?
非常感谢其他建议。
答案 0 :(得分:0)
您可能会发现其中一件事情是其中一个插座没有正常关闭。带套接字的东西是你需要确保它们被正确关闭,或者你设置服务器套接字以重用地址。
尝试从sysinternals中查看tcpview以查看套接字的状态。您还可以使用netstat查看套接字的状态。