UDP如果要穿过NAT,首先Client端先发给带有公网IP的Server端,然后才可以接收UDP包。 如果Server端先发起,恐怕不行。

解决方案 »

  1.   


    是的,这个事情我知道。我在连3G的时候就是这么做的,互相可以接收。
    但是我不明白的是,为什么在连接WIFI的情况下,服务端只能接收到消息,但是发送的消息手机端并不会收到。
    按理说,应该是可以正常接收的。我是客户端先发送消息,然后服务端再回复的。
    不知道您是否知道解决方案。或者这个问题可能是由什么原因造成的。再或者,您开发类似应用的时候,是不是3G,WIFI都是正常的,并没有做什么区分的特别操作。
      

  2.   


    你好。请问所谓的nat,是不是路由器自动帮我完成了?需要我人工的去设置么?
    如果需要人工设置的话,那比如说,我们使用QQ的时候,手机连接WIFI,用户本身没有做任何处理。他们是可以和服务器通讯的,是吧?
    请问这个问题是怎么回事。
      

  3.   


    你好。您说的这个是什么意思?我不是特别清楚。
    通过代理上网有什么区别么?
    我在3G的时候没问题,代理对此应该没影响吧?
    我不是很清楚,可否详细讲解下。3g分两种模式,ctnet和ctwap,据我测试ctnet不是通过代理上网,拥有外网ip,而ctwap是通过代理上网的,无外网ip。你的服务器若使用的是代理上网,则必须通过路由进行端口映射。
      

  4.   


    你好,请问NAT具体是怎么做的?
      

  5.   


    你好。您说的这个是什么意思?我不是特别清楚。
    通过代理上网有什么区别么?
    我在3G的时候没问题,代理对此应该没影响吧?
    我不是很清楚,可否详细讲解下。3g分两种模式,ctnet和ctwap,据我测试ctnet不是通过代理上网,拥有外网ip,而ctwap是通过代理上网的,无外网ip。你的服务器若使用的是代理上网,则必须通过路由进行端口映射。你好,请问NAT具体是怎么做的?
      

  6.   


    你好。您说的这个是什么意思?我不是特别清楚。
    通过代理上网有什么区别么?
    我在3G的时候没问题,代理对此应该没影响吧?
    我不是很清楚,可否详细讲解下。3g分两种模式,ctnet和ctwap,据我测试ctnet不是通过代理上网,拥有外网ip,而ctwap是通过代理上网的,无外网ip。你的服务器若使用的是代理上网,则必须通过路由进行端口映射。你好,请问NAT具体是怎么做的?这个具体我真的没油试验过,我写的使用的tcp,服务器端转发,udp有点复杂,需要考虑的东西很多,net这个协议网上介绍了很多,可以搜搜看
      

  7.   

    不知哪位可以讲下到底如何操作可以解决这个问题。十分感谢。在确定使用UDP的情况下。
      

  8.   


    你好,请问NAT具体是怎么做的?网络搜索一下这些关键词 UDP打洞  NAT穿透,
    先了解清晰这些概念,然后说吧
    A<-->{NAT+路由器}<-->B
    A侧可以叫内网,B侧叫外网,UDP数据是不能从B到A的,因为B只知道路由器地址,不知道A的存在
      

  9.   


    你好,请问NAT具体是怎么做的?网络搜索一下这些关键词 UDP打洞  NAT穿透,
    先了解清晰这些概念,然后说吧
    A<-->{NAT+路由器}<-->B
    A侧可以叫内网,B侧叫外网,UDP数据是不能从B到A的,因为B只知道路由器地址,不知道A的存在谢谢您。不过我不知道是不是有点偏离我的问题了。
    我的问题是,我Client端连接3G是可以与Server正常通信的。现在我只是把连接网络的方式变成了WIFI,这个时候的现象是Server可以接受,但是发不出去。我的疑问是为什么WIFI的时候Server就找不到Client了。谢谢。
      

  10.   


    你好,请问NAT具体是怎么做的?网络搜索一下这些关键词 UDP打洞  NAT穿透,
    先了解清晰这些概念,然后说吧
    A<-->{NAT+路由器}<-->B
    A侧可以叫内网,B侧叫外网,UDP数据是不能从B到A的,因为B只知道路由器地址,不知道A的存在谢谢您。不过我不知道是不是有点偏离我的问题了。
    我的问题是,我Client端连接3G是可以与Server正常通信的。现在我只是把连接网络的方式变成了WIFI,这个时候的现象是Server可以接受,但是发不出去。我的疑问是为什么WIFI的时候Server就找不到Client了。谢谢。以我理解,wifi路由加了nat,
    可以尝试wifi路由去掉nat设置
      

  11.   

    楼主啊,手机的网络属于外网还是内网,能用其中一台手机做服务器吗,如果手机不行的话,做服务器的电脑必须是猫直接连接的电脑吗,也就是这个电脑的直接IP必须是外网IP吗,   其实如果你能把代码发给我瞅瞅的话,我会感激不尽的,[email protected]
      

  12.   

    说那么多,不就是在路由器上做个端口映射么.转发规则那一项填写手机的WIFI  IP地址和接收端口....因为你服务器发给手机的数据其实是发给了路由器,路由器不知道应该给哪个手机