2

当使用 tcpclient 写入套接字时,如下例所示

服务器:

tcpListener.Start(PendingClientCount);
tcpListener.BeginAcceptTcpClient(OnAcceptCompleted, null);
////and more code

客户:

var client = new TcpClient();
client.Connect(new IPEndPoint(IPAddress.Loopback, 50000));
var clientStream = client.GetStream();
if (clientStream.CanWrite)
{
  clientStream.Write(preparedPackage, 0, preparedPackage.Length);
}
clientStream.Close();
client.Close();

事实证明,通过调用 tcpListener.Close() 和 Dispose() 关闭服务器后,我可以将字节写入网络流,然后它们“无处可去”。经过一定的时间间隔(大约 2 分钟)后,尝试 ti 网络流失败(最后)。

有没有可能检测到在尝试写入时没有人在对面监听套接字?

4

0 回答 0