解决方案 »

  1.   

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

  2.   


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

  3.   


    不是的,TCP连接已经建立了,且手机端给服务器发了消息,服务器也收到了,然后服务器立刻给手机端回发一条消息,但手机端却没收到。因为是tcp连接,所以服务端直接用接收信息的socket的给手机回发,不涉及到IP和端口写死的问题。
    那确实不是我说的那种情况。
    UDP收不到还说的过去,TCP应该都能收到的。
      

  4.   

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

  5.   

    使用移动的3G卡TD-SCDMA就没有问题,联通的WCDMA就不行,服务器发信息给手机就是发不过去!?
      

  6.   

    这是wireshark的抓包截图,其中59.72.109.113是公网服务器,221那个是WCDMA手机。求帮助!
      

  7.   

    我刚刚遇到过并且已经解决。网络穿透的问题。
    可参看我的帖子 
    http://bbs.csdn.net/topics/390645371?page=1#post-396249235
    检查下你的服务器域名映射实现吧,或者换用直接访问服务器IP试试