我有一个接受来自多个客户端的异步套接字连接的服务器。现在我根据他们的传入 IP 地址和端口为他们分配一个服务器端唯一 ID。我担心的是 - 如果 2 个客户端从同一个 IP 和 NAT 后面连接怎么办。有没有更好的方法来确定这一点?
private static int DetermineSocketToConnectionID(Socket handler)
{
int connectionIDForHandler = 0;
string uniqueIPString = handler.RemoteEndPoint.ToString();
if (Client1Buffers.UserIPAddress == uniqueIPString)
{
connectionIDForHandler = 1;
}
if (Client2Buffers.UserIPAddress == uniqueIPString)
{
connectionIDForHandler = 2;
}
return connectionIDForHandler;
}