小编cpf*_*cpf的帖子

~1 秒 TcpListener Pending()/AcceptTcpClient() 延迟

可能只需观看此视频: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)

(我在将代码放入代码块时遇到了一些问题)

我尝试了几种不同的方法,是否我正在使用 …

c# sockets performance tcplistener c#-3.0

5
推荐指数
2
解决办法
5401
查看次数

标签 统计

c# ×1

c#-3.0 ×1

performance ×1

sockets ×1

tcplistener ×1