可能只需观看此视频:http://screencast.com/t/OWE1OWVkO 如您所见,启动连接(通过 telnet 或 firefox)和我的程序首先收到消息之间的延迟。
这是等待连接的代码
public IDLServer(System.Net.IPAddress addr,int port)
{
Listener = new TcpListener(addr, port);
Listener.Server.NoDelay = true;//I added this just for testing, it has no impact
Listener.Start();
ConnectionThread = new Thread(ConnectionListener);
ConnectionThread.Start();
}
private void ConnectionListener()
{
while (Running)
{
while (Listener.Pending() == false) { System.Threading.Thread.Sleep(1); }//this is the part with the lag
Console.WriteLine("Client available");//from this point on everything runs perfectly fast
TcpClient cl = Listener.AcceptTcpClient();
Thread proct = new Thread(new ParameterizedThreadStart(InstanceHandler));
proct.Start(cl);
}
}
Run Code Online (Sandbox Code Playgroud)
(我在将代码放入代码块时遇到了一些问题)
我尝试了几种不同的方法,是否我正在使用 …