android socket通信 手机做服务器端无法连接

xingao 发布于 2009/12/28 16:49
阅读 10K+
收藏 0

在android上用socket通信,
当手机做server时,PC机通过GPRS与手机连接(不使用WIFI),无法建立连接,
手机所获取的本机IP疑是局域网IP,请问哪位知道这种情况该怎么解决?

加载中
0
黄青
黄青

每个手机之间的IP不是公网IP,是不能直接socket通讯的,尝试用p2p技术解决吧。

0
x
xixiha

引用来自“黄青”的答案

每个手机之间的IP不是公网IP,是不能直接socket通讯的,尝试用p2p技术解决吧。

网上的例子都是socket来的~android开发菜鸟,也找不到相关的教程

可否大致说明一下android平台下怎么实现p2p的通信啊?

0
黄青
黄青

NIO的SOCKET维护每个客户端在路由上的SESSION。如果你在服务器上获取到他们的外网IP和SESSION端口,那么他们可以通过UDP进行穿透连接,因为UDP无协议,所以路由给他们的SESSION超时时间会长一点。足够他们相互间打洞了。连接上以后就可以通过UDP相互传递数据了。

0
尐帥鱼
尐帥鱼

进路由器-->转发规则---->把虚拟服务器和DMZ主机 设置成你手机的局域网ip。然后用socke连接你的外网ip就能找到你的手机了

0
jin4open
jin4open
有code么?没看明白 比较菜~
0
刘良平
刘良平
GPRS网络直接可以做直连或者打洞连接,在加上服务器做中转更能保证了
返回顶部
顶部