我首先要说的是,目前我的服务器基于发件人IP识别,即客户端的IP。
现在我正在编写一个游戏服务器(仅用于练习),这让我想到如果客户端在同一个IP上,我如何唯一地识别它。 (两个玩家在同一台机器/同一网络上打开一个连接,因此外向IP是相同的。)
我在谷歌和这里以及gamedev.net上搜索了一个答案,但我无法找到我要找的内容,可能是因为我不知道要查询的正确术语。
对此有任何指导意见,特别是在效率和最佳实践方面。
感谢。
答案 0 :(得分:0)
没有"连接"所有与UDP相关的东西都是一个术语,但通常情况下,启动UDP套接字的应用程序会在一段时间内保持相同的源端口,因此您可以通过源IP端口识别它。
有一些与维护NAT路由器内的客户端(在NAT-UDP中,客户端是第一个将UDP数据报发送到另一个主机并触发新的连接跟踪条目的主机)和服务器之间的通信相关的东西。 / p>
此"连接跟踪"仅用于允许从外部到内部的流量,制作一个" temporal"关系(超时),有时可能不再使用(仅一次)。
如果服务器在输出数据报中没有使用与输入数据报中相同的目标端口,则路由器不会将数据报发送到NAT内的主机。
最好的问候。