好的,所以我有一个正在工作的客户端/服务器库。服务器可以接受来自客户端的多个连接。在每次调用 Accept() 时,如果成功,客户端套接字的句柄将被推送到映射,并使用假定的唯一 ID 作为键。这样当服务器稍后想要向特定客户端发送消息时,它会使用此 ID 找到客户端。
我的问题:每个客户的唯一 ID 是什么?IP 地址是不可能的,因为多个客户端可以来自同一个 IP 地址。如果没有,任何人都可以提出其他一些好的设计。谢谢
插图:
ClientSocket workerSock = Server.Accept();
Map.Add(workerSock);
Map
____________________
|Key | Value |
|------------------|
| ? |workerSock1| ------------------------ client application 1
|------------------|
| ? |workerSock2| ------------------------ client application 2
|------------------|
| ? |workerSock3| ------------------------ client application 3
--------------------
场景:服务器想要发送给特定的客户端,所以它必须有一些 ID。