唯一标识UDP连接-来自同一IP的多个连接
Uniquely Identify UDP Connection - Multiple Connections from same IP
我将首先说,当前我的服务器基于发送方IP进行标识,即客户端的IP。
现在我正在编程一个游戏服务器(只是为了练习),这让我思考,如果客户端在同一个IP上,我该如何唯一地识别它们。(两个玩家在同一台机器/同一网络上打开连接,因此向外的IP是相同的)。
我已经在谷歌、这里和gamedev.net上搜索了答案,但找不到我要找的东西,可能是因为我不知道要查询的正确术语。
如能就此提供任何指导,尤其是在效率和最佳做法方面,我们将不胜感激。
谢谢。
在所有与UDP相关的东西中都没有"连接"术语,但通常情况下,启动UDP套接字的应用程序会在一段时间内维护相同的源端口,因此您可以通过源IP端口来识别它。
NAT路由器内的客户端(在NAT-UDP中,客户端是第一个向另一个主机发送UDP数据报并触发新的连接跟踪条目的主机)和服务器之间的通信需要维护。
这种"连接跟踪"只允许从外部到内部的流量,形成一种"临时"关系(带超时),有时可能不会再使用(只使用一次)。
如果服务器在输出数据报中不使用与传入数据报中的源端口相同的目的端口,则路由器不会将数据报发送到NAT内的主机。
致以最良好的问候。
相关文章:
- 为什么 WinInet 在通过 FQDN 连接时无法通过协商自动进行身份验证,但如果通过 IP 连接则成功?
- C++ Winsock2 客户端未通过远程 IP 连接到服务器
- 使用 IP 帮助程序的 Windows 中活动 UDP 连接的远程地址
- 如何将请求的客户端连接的 IP 与 QTcpSocket 类中识别的 IP 之一进行比较?
- gRPC C++尝试在无法访问的 IP 上连接通道时阻止客户端
- TCP/IP 客户端是否可以连接到无法访问的 IP
- 服务器和客户端都在PC上运行.客户端可以使用PC的IP连接到服务器
- 如何从活动的 udp 连接获取远程 IP 地址和端口
- 使用静态IP地址时,ESP32 httpclient连接拒绝了
- 如何获取其他人可以使用的IP来连接到我的c 中的套接字构建
- 如何在我当前连接的网络中获取本地 IP 地址?
- 获取传入连接的源 IP 地址
- 唯一标识UDP连接-来自同一IP的多个连接
- c++winsock客户端无法使用主机IP的文本框进行连接
- 套接字连接到不存在的ip地址上的端口
- 为什么我无法在 C++ 中键入要连接的 IP
- 提升连接后从TCP服务器访问TCP客户端IP地址+端口
- 连接到外部 IP 失败
- 如何在接受C++中的连接之前获取客户端 IP 地址
- 在接受连接C++之前获取套接字的 IP 地址