所以我在写一个P2P多人游戏。服务器与每个玩家建立连接(UDP),然后让玩家直接彼此连接(使用UDP Holepunching技术)。
然后我在父母家做了测试,然后就停止了工作。
还是这样的设置注定要失败?
不,不能直接在IPv4和IPv6之间建立连接。如果它不是一个基于实时的多人游戏,有一些可能的(不必要的复杂)变通方法。
portmapper ds-lite
。该服务提供一个IPv4地址,在该地址中,到特定端口的所有连接“通过”连接到用户B的IPv6地址(和特定端口)。[1]根据个人经验,我可以告诉您,一些不同的可用Teredo服务器是不可靠的。我不得不尝试三种不同的Teredo服务器配置,实际上需要在其中两种配置之间切换,因为它们都不能访问IPv6 internet的所有设备--有些设备可以通过Teredo.trex.fi访问,有些设备可以通过Teredo.remlab.net访问--然后有时就会转过来。
如果5不起作用,我会说用户A没有Internet访问,只是稍微增强了web访问。
我正在创建套接字类,但我想使我的连接功能是动态的,可以连接到地址(ipv4或ipv6),使用交换机进行IPv测试并连接到支持的IPv,只是想问一下我是否是对的,或者有没有一个简单的方法使它成为ipv4或ipv6?
如果是这样,那么为什么有必要为IPv6发明范围ID,而不是采用与IPv4相同的解决方案呢? 此外,scope_id仅仅用于区分具有相同链路本地地址的接口,还是还有其他用例?
我有一个python应用程序,它需要为IPv6连接选择一个特定的本地源地址,但可以为IPv4连接使用“any”0.0.0.0。但应用程序在中使用主机名,以允许从名称查找地址。 那么,如果在调用之前我不知道是IPv4地址还是IPv6地址,那么如何将特定的IPv6源地址和IPv4“any”地址绑定到本地套接字? 一定有更好的办法。我怀疑我必须自己实现地址查找和选择,并将地址而不是名称传递给。这样,在进
问题内容: 我有使用地址的应用程序(它存储它们的时间很长),因此它只了解地址。 可以将地址转换为with 吗? 问题答案: 尽管IPv4地址范围具有等效的IPv6,但是您不能将所有IPv6地址都转换为IPv4-IPv6地址比IPv4地址更多。 解决此问题的唯一明智的方法是更新您的应用程序,以便能够理解和存储IPv6地址。
问题内容: 我们的Java程序之一在启动时仅监听IPv6(8080) 例如 问题是无法从外部访问(本地主机除外),要解决此问题,我需要手动添加 但这使得该程序仅适用于IPv4网络。 是否可以执行上述类似 sshd的 操作,并且都支持IPv4和IPv6? 问题答案: 我怀疑这不是Java编程问题,而是OS网络堆栈/ OS网络配置问题: http://coding.derkeiler.com/Arch
同样,如果客户机已经创建了一个IPv6套接字(因为getaddrinfo()说它是有效的),然后调用getaddrinfo()来查找服务器的地址,那么如果它只得到一个IPv4结果呢?我知道我可以告诉getaddrinfo()只给出IPv6结果,但是如果服务器没有IPv6地址怎么办?UDP客户端是否应该关闭并重新创建其套接字以匹配服务器地址格式?还是保证我能得到我要求的地址格式? (我欢迎任何能回答