У меня есть сервер, который принимает соединения асинхронного сокета от нескольких клиентов. Прямо сейчас я назначаю им уникальный идентификатор на стороне сервера, зависящий от их входящего IP-адреса &. Моя забота - что, если 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;
}
Два клиента за NAT будут иметь одинаковый IP-адрес, но разные порты. – dtb