同一个NAT后通讯有什么解决方案,NAT不支持loopback 大家有什么方案,希望大家献计献策啊 谢谢了
方案一:
如果客户端A NAT后的地址是 121.15.25.194 端口2365
如果客户端B NAT后的地址也是 121.15.25.194 端口 2364
不支持loopback情况下 A与B是不能通讯的,如果把A的私有IP和端口告知B,A与B可行进行通信吧?那么在服务器如何判断是来自同一个局域网? 

解决方案 »

  1.   

    同一个NAT后的,两个台主机,可能直接连接!现在大多数路由都不支持回环
      

  2.   

    A和B都告诉服务器自己的本地地址,服务器可以知道对外的地址,交换信息的时候两套地址都带上,如果对外的IP地址相同(其实,应该检查是不是类似,有时候NAT用好几个IP对外),A和B就应该用本地地址尝试通讯了。大意如此。
      

  3.   

    初学多多关注谢谢了如果对外的IP地址相同(其实,应该检查是不是类似,有时候NAT用好几个IP对外)--如何比较最合适呢?NAT不支持loopback情况下,如果A,B都不在一个网段,是否可以使用A,B外网的IP通讯呢
      

  4.   

    1. A与B在同一个局域网(LAN)里, A与B可以正常通信.
    2.A与B不在同一个LAN,通过路由器相连,也是可以通信的.只是要注意防为火墙的配置.NAT与loopback有什么关系?我认为没有关系.
      

  5.   

    嗯,也遇到过类似问题,基本做法和上面某位同学说的差不多,同内网出去的外网IP一样只是PORT不同,为了区分这种状况,服务器除了需要知道CLIENT端外网映射的IP和PORT外,另外还要要求提供内网IP,这样遇到外网IP一样的两个用户时,通知他们各自用对方的内网IP直接通信.
      

  6.   

    楼上的 我是这样写的 代码也测试通过了 不知道到还有别的好方法没有
    如果不是同一个网段NAT后IP是否相同????
      

  7.   

    如果不是同一个网段NAT后IP是否相同????