Udp P2P应用开发

Udp P2P应用开发,udp,p2p,nat,3g,Udp,P2p,Nat,3g,我想开发一个P2P游戏应用程序。实现NAT遍历和对等发现的最快、最有效的方法是什么。我读过关于晕眩和翻转服务器的文章。但是什么是可用的开源部件,我如何使用它们呢?。 1.这些STUN服务器在3G网络上工作吗? 2.UDP打孔在3G网络上有效吗 如果你有一个视频游戏,你可能希望有一个包含所有游戏数据的中央服务器,并允许用户成为客户端。你知道,就像拼图和龙一样,你有用户名和密码并登录到服务器 谷歌Stun客户端和ICE协议。有很多开源实现 STUN在移动网络上失败,因为移动网络具有对称的大规模NAT

我想开发一个P2P游戏应用程序。实现NAT遍历和对等发现的最快、最有效的方法是什么。我读过关于晕眩和翻转服务器的文章。但是什么是可用的开源部件,我如何使用它们呢?。 1.这些STUN服务器在3G网络上工作吗? 2.UDP打孔在3G网络上有效吗

如果你有一个视频游戏,你可能希望有一个包含所有游戏数据的中央服务器,并允许用户成为客户端。你知道,就像拼图和龙一样,你有用户名和密码并登录到服务器

谷歌Stun客户端和ICE协议。有很多开源实现

STUN在移动网络上失败,因为移动网络具有对称的大规模NAT。穿越这种nat不适用于晕眩,请参见下面的原因

为什么不能绕过移动宽带NAT

这归结为统计数字。为了建立连接,您必须将数据包发送到他们所在的端口,并且他们必须将数据包发送到您所在的端口。如果您发送到错误的端口号,或者他们发送到错误的端口号,则您将丢失,并且无法建立连接。如果双方同时绑定到一个端口并发送一个指向另一方ip地址的数据包,则在一个ip地址上,发送数据包到其端口的概率为1/65535,而他们发送数据包到您的端口的概率约为1/65535。因此,您建立连接的几率为1/65535*1/65535,或1/65535^2

您无法知道任何后续连接的端口号,因为对于每个新的出站连接,路由器都会在1024到65535之间的时间间隔内随机为您提供一个新的端口号。因此,如果您询问服务器您的ip和端口号是什么,它可能会告诉您正确的ip地址您的ip地址不会经常更改,除非您关闭手机或类似的东西,但端口号会更改。如果您尝试猜测端口号,则会出现65535-1024-1/65535-1024,或者99.998%的变化,即您猜错了,假设可供选择的端口号为65535-1024

因此,除非端口号是可预测的,而在许多4G网络中,端口号是不可预测的,否则你就没机会了

你最好的选择是使用眩晕,而不是支持邪恶的路由器