通过互联网(而非LAN)进行Android TCP通信。

时间:2012-09-20 20:28:14

标签: android sockets tcp android-emulator router

我正在创建一个应用程序,通过互联网使用TCP套接字建立两个android mobiles之间的通信。所以,我将主要使用两个mobiles的IP地址与我的花哨app端口号。

这可能吗?如何在LAN中创建自定义TCP端口并通过互联网进行通信?

到目前为止,我能够在局域网中的两个仿真器之间成功通信。但是,如果通常情况下主机behind a router只允许数据到端口808080我不确定,那么就不可能在互联网上做同样的事情。当然有端口转发可以做,但我不想弄脏它。
所以,
LAN中的模拟器连接是否保证互联网上的mobile连接? cos mobile with direct net connectivity只有单个IP地址(没有私有和外部IP)且没有路由器来禁止交通。

2 个答案:

答案 0 :(得分:2)

您是否听说过打孔技术?阅读本文 - 也许它会有所帮助。link这就是我认为skype的工作原理。这种技术需要另一个通信节点 - 一个服务器可供两个客户端访问,并有助于在两个服务器之间建立直接连接即使其中一个客户端在NAT后面,客户端也是如此。

答案 1 :(得分:1)

我99.8%肯定你无法在移动网络上这样做。如果我没记错的话,每个蜂窝塔都有自己的IP,连接到它的每个设备都有一个私有的内部IP。但是,我相信你可以在Wifi上使用它。