我正在制作一个网络游戏(1v1),游戏中是 p2p - 不需要游戏服务器。
然而,为了让玩家能够“找到彼此”,而不需要在另一种媒介中协调并输入IP地址(类似于网络游戏的现代时代),我需要有一个协调/匹配服务器。
我无法使用常规网络托管,因为:
- 客户端将使用 UDP 进行通信。
- 因此我需要进行 UDP 打洞才能通过 NAT
- 这需要服务器以 UDP 进行通信并知道客户端的 IP 和端口
- 据我所知,使用常规网络托管(php/etc)我只能获取客户端的IP地址,并且只能以TCP(HTTP)进行通信。
我目前正在考虑的选项:
有任何想法吗?谢谢 :)
首先,我要说的是,这远远超出了我的专业范围,但我发现自己很感兴趣,所以我一直在做一些搜索和阅读。
看来,UDP NAT 穿越最常用的解决方案是使用STUN http://en.wikipedia.org/wiki/STUN服务器。我做了一些快速搜索,看看是否有任何公司会直接为您提供 STUN 托管解决方案,但即使有,它们也被埋在成堆的简单网络托管广告中。
幸运的是,似乎有几个 STUN 服务器已经启动并运行并且免费供公众使用。公共 STUN 服务器列表位于voip-info.org http://www.voip-info.org/wiki/view/STUN.
此外,如果您探索,还有更多信息可以获取SO 问题标记为“nat” https://stackoverflow.com/questions/tagged/nat.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)