假设我必须编写一个UDP服务器,它应该在第一个消息中为每个客户端接收认证令牌,然后在一段时间后接收不同的数据。这个UDP服务器显然应该检查某个客户端之前是否已经过身份验证。我该怎么办?我应该存储"认证"每个标志(IP地址,端口)对?好吗?如果是这样,如果几个客户端具有相同的IP地址(例如,他们从同一个互联网提供商共享)会发生什么?
答案 0 :(得分:0)
我认为你不能。您需要在每条消息中都有令牌。多个请求可以来自同一个IP,例如从NAT后面连接的客户端。
答案 1 :(得分:0)
这种情况很少见,您可能希望在服务器上使用多个UDP套接字,并将connect()
每个套接字用于一个经过身份验证的客户端,这样您就只能从每个经过身份验证的客户端接收每个消息。您必须通过帽子插座发送第一个回复,在收到第一个回复后,必须编写义齿客户端以相应地调整其目的地。