2012-07-01 64 views
0

我需要在通过gprs通道运行i-jetty网络服务器的两部android手机之间建立点对点连接,但许多移动运营商阻止与手机的入站连接。绕过它吗?Android对等连接

回答

1

NAT渗透非常复杂,除非您熟悉网络的内部结构,否则您不应该混淆它。 pwnat使用的autonomous NAT traversal现在几乎是最先进的。

其基本思想是使用这样一个事实,即路由器可能有任何IP地址,并且只要NAT知道,任何源IP地址对于ICMP错误消息(NAT将转发给其客户端)都有效。

请注意,您通常只能通过UDP。所以你必须实现你自己的字节流协议。

1

一般来说,让两部手机相互通话的最可靠方法是使用C2DM(或现在的GCM)。也许你可以让设备使用C2DM交换他们的IP地址(如果它的地址位于具有阻塞端口的路由器或防火墙后面,这可能完全没有任何帮助)。您也可以使用SMS,具体取决于您的应用程序的需求。

通常会有一个涉及你的服务器 - 额外的开发 - 但对于短消息,我不明白为什么一个设备不能直接通过C2DM发布到另一个设备。 (这是一个未经测试的声明,要小心。)