为了检查消息是否挂起,我可以使用 Socket.Available
,但是我应该怎么做才能在调用 之前检查客户端是否正在尝试连接到我的服务器套接字接受
?
最佳答案
TCP 不提供消息,因此您在任何情况下都无法检查消息。您可以看到至少有多少字节可用,但它可能不是一条消息,也可能是多条消息。此外,当 1ns 后数据到达时,Available
可能为 0
。所以测试不会给你带来任何好处。
您永远不需要检查数据或连接。
只需运行一个接受循环:
while (true) {
RunConnectionAsync(socket.Accept());
}
阅读也是如此:当数据可能到来时,始终有一个未完成的阅读请求。 Read
将等待数据到达。
做。或者不要。没有尝试。 (在这种情况下:总是这样做。)
关于c# - 检查客户端是否正在尝试连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38118672/