代码看起来像这样(套接字双连接):
IPHostEntry ipHostInfo = Dns.GetHostEntry("127.0.0.1");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.ReceiveTimeout = 5000;
sender.Connect(remoteEP);
然后我会在下面这段代码:
Thread thread = new Thread(new ThreadStart(doubleconnect));
thread.Start();
public static void doubleconnect()
{
try
{
sender.Connect(remoteEP);
}
catch (Exception ex)
{
}
}
我有这个问题,因为在代码的第一部分我们连接到服务器,但我们不关闭连接,所以通过创建一个线程并重新连接,我认为服务器将看到来自同一客户端的2个连接。
那么,服务器会看到这个连接和 2 个连接还是只有一个连接?
您在同一个
Connect
上呼叫
Socket
两次。我查看了文档,但如果你这样做,它没有说明它的行为,所以我认为可能会发生两件事:
Connect
时遇到异常(可能是
SocketException
)
Connect
调用。