gpt4 book ai didi

c# - 异步套接字-标识唯一的连接

转载 作者:行者123 更新时间:2023-12-03 12:05:28 26 4
gpt4 key购买 nike

我有一台服务器,可以接受来自多个客户端的异步套接字连接。现在,我根据他们的传入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;
}

最佳答案

您最好让这些客户端在首次连接时向服务器进行身份验证,并向您传递除信任网络信息之外还可以用来识别它们的内容。这正是创建 session 和cookie以便将客户端登录到Web服务器的原因。您可以通过与客户端握手并将它们传递回一个uid来执行类似的操作,然后在随后的每次连接中,它们都需要将该uid传递回服务器。

关于c# - 异步套接字-标识唯一的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com