【问题标题】:How to check whether user already authenticated via UDP如何检查用户是否已通过 UDP 进行身份验证
【发布时间】:2015-10-23 21:47:01
【问题描述】:

假设我必须编写一个 UDP 服务器,它应该在第一条消息中接收每个客户端的身份验证令牌,然后在一段时间后接收不同的数据。这个 UDP 服务器显然应该检查某些客户端是否以前经过身份验证。我该怎么做?我应该为每个(IP 地址、端口)对存储“已验证”标志吗?可以吗?如果是这样,如果多个客户端具有相同的 IP 地址(例如,它们从同一个互联网提供商共享)会发生什么?

【问题讨论】:

    标签: sockets network-programming udp


    【解决方案1】:

    我认为你不能。您需要在每条消息中都有令牌。多个请求可以来自同一个 IP,例如从 NAT 后面连接的客户端。

    【讨论】:

      【解决方案2】:

      这是一种罕见的情况,您可能希望在服务器上使用多个 UDP 套接字并将 connect() 每个套接字都用于一个经过身份验证的客户端,这样您就只能从每个经过身份验证的客户端接收更多消息。您必须通过 hat socket 发送第一个回复,必须在收到第一个回复后写入假牙客户端以相应地调整其目的地。

      【讨论】:

      • 所以我应该为每个连接的客户端都有一个 UDP 套接字,对吧?
      猜你喜欢
      • 2017-07-10
      • 1970-01-01
      • 2022-09-29
      • 2017-07-15
      • 2018-12-21
      • 1970-01-01
      • 2021-05-01
      • 2015-11-08
      • 2020-06-24
      相关资源
      最近更新 更多