当前位置: 代码迷 >> Android >> android 3G TCP通信有关问题
  详细解决方案

android 3G TCP通信有关问题

热度:399   发布时间:2016-04-28 06:51:58.0
android 3G TCP通信问题
android客户端通过3G网络建立TCP连接于公网上的PC服务器通信,
TCP连接可以建立,而且公网服务器可以收到android手机发来的消息,但手机却无法接收到服务器得返回信息。
相同代码在wifi子网条件下测试无bug。
求大神指点,谢谢!
------解决方案--------------------
问题出在建立TCP链接的时候吧?
手机上网的IP随时在变的,所以在建立TCP链接的时候,服务器从那个IP和端口收到了请求,就用哪个IP和端口来建立链接,不要把IP和端口写死。
有必要的话,手机要发送心跳包给服务器,让服务器知道自己的IP和端口。
------解决方案--------------------
引用:
Quote: 引用:

问题出在建立TCP链接的时候吧?
手机上网的IP随时在变的,所以在建立TCP链接的时候,服务器从那个IP和端口收到了请求,就用哪个IP和端口来建立链接,不要把IP和端口写死。
有必要的话,手机要发送心跳包给服务器,让服务器知道自己的IP和端口。


不是的,TCP连接已经建立了,且手机端给服务器发了消息,服务器也收到了,然后服务器立刻给手机端回发一条消息,但手机端却没收到。因为是tcp连接,所以服务端直接用接收信息的socket的给手机回发,不涉及到IP和端口写死的问题。

那确实不是我说的那种情况。
UDP收不到还说的过去,TCP应该都能收到的。
------解决方案--------------------
可能要贴相关的代码才能看得出。。。
对了,我现在wifi局域网下能通信,你是怎么实现在公网下通信的?
你现在的实现方式,是不是只要有网络,就能通信的?
不管两端是不是同一个网段,就是不在同一个局域网也能通信?

我现在就是不知道怎么在公网上通信,指点我一下,虽然你是来求助的。。。
------解决方案--------------------
引用:
Quote: 引用:

可能要贴相关的代码才能看得出。。。
对了,我现在wifi局域网下能通信,你是怎么实现在公网下通信的?
你现在的实现方式,是不是只要有网络,就能通信的?
不管两端是不是同一个网段,就是不在同一个局域网也能通信?

我现在就是不知道怎么在公网上通信,指点我一下,虽然你是来求助的。。。


我的服务器不在局域网内,有公网IP的,所以客户机在哪都能访问到。。。

哦哦哦,这样子啊,谢谢。。。
------解决方案--------------------
奇怪的问题,坐等答案
------解决方案--------------------
等答案,没遇到过
------解决方案--------------------
不知道楼主问题解决没有,是不是涉及网络穿透的问题?
------解决方案--------------------
我刚刚遇到过并且已经解决。网络穿透的问题。
可参看我的帖子 
http://bbs.csdn.net/topics/390645371?page=1#post-396249235
检查下你的服务器域名映射实现吧,或者换用直接访问服务器IP试试
------解决方案--------------------
  我也是遇到这种问题!(我单独在一个工程里)  如果我把该程序移植到另一个项目里,客户端不能与服务器进行连接???    求解。。。
  相关解决方案