【发布时间】:2010-09-16 05:53:21
【问题描述】:
我编写了一个 TCPIP 服务器,它实现了 FileSystemWatcher,并用从 FSW 获取的新文件解析的数据填充队列。
单个客户端将连接到此服务器并从队列中请求数据(任何其他客户端都不需要连接)。如果不存在数据,客户端将等待(1 秒)然后重试。
客户端和服务器都是异步编写的 - 我的问题是:客户端应该为每个事务创建一个新的套接字(在 while 循环内),还是让套接字保持打开状态(在 while 循环外)?
client.Connect()
while(bCollectData)
{
... communicate ...
Thread.Sleep(1000);
}
client.Shutdown(SocketShutdown.Both);
client.Close();
【问题讨论】: