网络通信的延迟很大

时间:2013-07-08 09:45:27

标签: c# sockets networking delay

我写了一个像应用程序一样的wcf,客户端将一些数据发送到一个带有id和一些数据包的服务器,服务器发回一个带有相同id的消息,我在同一台计算机上测试客户端和服务器,我不能使用localhost连接服务器和客户端,但真正的IP地址,所以它将实际打开一个套接字而不是一个环回(这是我听到的wat)。现在我获得了惊人的响应时间,500(。05ms)-1000(.1ms)的时间段为:client-> server-> client通信,现在我想尝试从计算机到计算机,所以我在一个和服务器上运行客户端另一方面,但现在沟通的时间增加了ALOT,我现在得到的时间从250000(25ms)到350000(35ms),这为什么会发生?我尝试使用调试器来查找任何延迟,但我真的只是在套接字通信中得到了很多延迟

这是服务器套接字的初始化:

IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(LocalIpAddress), port);
        Listener = new Socket(localEndPoint.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
        Listener.Bind(localEndPoint);
        Listener.LingerState = new LingerOption(false, 0);
        Listener.Listen(0);

这是客户端套接字的初始化:

ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        ClientSocket.ReceiveBufferSize = buffer.Length;
        ClientSocket.LingerState = new LingerOption(false, 0);

1 个答案:

答案 0 :(得分:0)

问题似乎与附加的调试器有关,每当我运行附带调试器的程序时我会得到奇怪和无法解释的延迟,当我运行程序独立作为一个excecutable我没有得到任何延迟。