C# 为什么客户端的连接速度如此之慢?
我正在尝试在witch中制作一个程序,多个客户端将连接到服务器。但我有一个问题,因为当我试图同时连接多个客户端时,需要“很长时间”才能完成。C# 为什么客户端的连接速度如此之慢?,c#,asynchronous,tcpclient,C#,Asynchronous,Tcpclient,我正在尝试在witch中制作一个程序,多个客户端将连接到服务器。但我有一个问题,因为当我试图同时连接多个客户端时,需要“很长时间”才能完成。 我正在使用异步方式连接: public bool connect(字符串IP,int端口) { 尝试 { if(m_clientSocket==null) {
我正在使用异步方式连接:
public bool connect(字符串IP,int端口)
{
尝试
{
if(m_clientSocket==null)
{
m_clientSocket=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp);
IPAddress ip=IPAddress.Parse(ip.ToString());
int iPortNo=System.Convert.ToInt16(port.ToString());
IPEndPoint ipEnd=新的IPEndPoint(ip,iPortNo);
BeginConnect(remoteEP,新的异步回调(ConnectCallback),client);
}
}捕获()
{
返回false;
}
}
私有无效连接回调(IAsyncResult ar)
{
尝试
{
套接字客户端=(套接字)ar.AsyncState;
if(m_clientSocket!=null)
{
if(m_clientSocket.Connected)
{
客户端.EndConnect(ar);
//在这里发送下一个数据
}
其他的
{
客户端.EndConnect(ar);
m_clientSocket.Close();
m_clientSocket=null;
状态=连接错误;
}
}
}
捕获()
{
}
}
对于我想要连接的每个客户机,我都会打开一个新类,该类包含两个方法,您可以在上面看到。与简单for循环相比,我一个接一个地调用方法
在Wireshark中,我观察到下一步需要连接到服务器的时间是0.1s,我认为这是分配的
知道为什么要花这么长时间吗
谢谢你的帮助 你在问100ms是否太长,无法连接到服务器?如果是本地的。。对如果不是,那么100毫秒不是连接到服务器的时间,而是我的程序需要启动下一个客户端才能开始连接的时间。我不明白你为什么这样做。为什么不同时启动几个连接尝试呢?我们还希望看到服务器接受代码。