gpt4 book ai didi

port - 我应该向 IANA 注册多人游戏的端口吗?

转载 作者:行者123 更新时间:2023-12-01 01:01:34 24 4
gpt4 key购买 nike

我有一个多人游戏软件,它接近成熟,有望很快进入公开测试阶段。对于非正式的私有(private)测试,我一直在使用我喜欢的端口号,它属于用户端口范围,1024-49151。我想知道我是否应该向 IANA 注册一个端口(在这种情况下,我不能使用我当前的端口,因为它已经被一个非常模糊的服务使用)。

我有点困惑的是,我们被告知不要在未注册的情况下使用用户端口,而大多数主要的多人游戏(例如使命召唤、军团要塞 2、我的世界)都使用此范围内的数字而无需注册。游戏是否不被认为是该范围的“重要”用途,需要注册?我是否应该完全避免这个问题并从动态(临时)范围中选择一个数字 49152-65535?我只是想知道为什么大多数游戏都避免了这个上限,如果它不需要 IANA 注册(害怕与临时端口发生冲突?)。或者我根本不需要担心注册?当我准备发布我的第一个网络应用程序时,我只是想成为一个负责任的网民。谢谢。

最佳答案

如果必须在每个人上打开特定端口 客户 *,您需要在用户端口范围内注册一个端口,因为 RFC 6335 , 8.1.2.:

[...] application software MUST NOT assume that a specific port number in the Dynamic Ports range will always be available for communication at all times [...]


在您的 上服务器 (如果有)您可以使用任何端口,无需注册。但是,我建议也使用动态端口范围内的端口。然后,您的客户端可以从某种主服务器(例如通过 HTTP/端口 80 或 HTTPS/端口 443)获取服务器列表及其当前端口号。这样一来,您 1. 消除了误用的用户端口,并且 2. 可以随时更改您的实际服务器端口。

*:如果您的播放器在 NAT 之后,则必须在 NAT 设置中转发客户端端口;这将使您的游戏难以为没有经验的用户玩。通过您的服务器重定向所有流量可能是一个更好的主意......
如果您在某处使用服务器并且确实需要客户端协议(protocol),则可以通过打开随机动态端口并通知服务器该端口来规避向 IANA 注册的问题,然后通知所有想要连接的客户端。这样,您根本不需要任何用户端口,因此无需注册。但这使得 NAT 后面的用户更加困难。

关于port - 我应该向 IANA 注册多人游戏的端口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22842372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com