我写了一个像应用程序一样的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);
答案 0 :(得分:0)
问题似乎与附加的调试器有关,每当我运行附带调试器的程序时我会得到奇怪和无法解释的延迟,当我运行程序独立作为一个excecutable我没有得到任何延迟。