0

我需要通过 gprs 通道在运行 i-jetty 网络服务器的两部安卓手机之间建立点对点连接。但是许多移动运营商阻止了与手机的入站连接。有什么办法吗?

4

2 回答 2

1

NAT 穿透非常复杂,在您非常熟悉网络的内部结构之前,您真的不应该弄乱它。pwnat使用的自主 NAT 遍历几乎是当今最先进的技术。

基本思想是利用路由器可能具有任何 IP 地址的事实,并且就 NAT 所知,任何源 IP 地址对于 ICMP 错误消息都是有效的,NAT 会将其转发给其客户端。

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

于 2012-07-01T11:54:31.160 回答
1

一般来说,让两部手机互相通话的最可靠方法是使用 C2DM(或 GCM,现在)。也许您可以让设备使用 C2DM 交换它们的 IP 地址(顺便说一句,如果它的地址位于路由器或防火墙后面且端口被阻止,那么这可能对您一无所获)。您还可以根据应用程序的需要使用 SMS。

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

于 2012-07-01T22:10:51.017 回答