所以我正在写一个P2P多人游戏。服务器建立到每个播放器的连接( UDP ),然后让玩家直接连接(使用UDP Holepunching技术)。
然后我在父母家做了测试,结果就停止工作了。
原因是我父母的路由器不兼容IPv6。
问题
有可能在拥有不同ip协议的用户之间进行UDP访问吗?
Aka
还是这种设置注定要失败?
发布于 2020-08-15 22:39:09
不,在IPv4和IPv6之间建立连接是不可能的。如果这不是一个基于实时的多人游戏,有一些可能的(不必要的复杂)解决办法。
portmapper ds-lite。该服务提供了一个IPv4地址,其中指向特定端口的所有连接“通过”连接到用户B的IPv6地址(和特定端口)。1根据个人经验,我可以告诉您,一些不同的Teredo服务器是不可靠的。我不得不尝试三种不同的Teredo服务器配置,实际上需要在这两种配置之间切换,因为它们中没有一种能够访问IPv6互联网的所有设备--有些设备可以通过teredo.trex.fi访问,有些设备可以通过teredo.remlab.net访问--然后有时就会掉头。
在我看来,最不复杂的选择是4。
如果5不能工作,我会说,用户A没有互联网接入,但只是略微增强的网络访问。
https://stackoverflow.com/questions/53291993
复制相似问题