如果两个客户端都有外网ip地址,那么直接用tcp连接就成
但如果在局域网里,用不了tcp,那么就只能用udp来通讯了?
那又如何能快速判断出两个客户端是否在局域网里呢?

解决方案 »

  1.   

    连接的数据中,把内网的ip和端口也写进去,如果外部ip相同,就可以判断出是同一内网了。
    使用以上提到的内网ip进行tcp直连就OK了。
      

  2.   

    同意楼上
     也可以先两 client 直接TCP连接判断
      

  3.   

    (nIP1&nIPMask1)==(nIP2 & nIPMask2)
      

  4.   

    以上只考虑两个客户端都在同一个内网里,要是他们分别在不同的内网里呢?
    我考虑,他们都事先通过tcp登录到一个服务器之后,再让他们做p2p的交互
      

  5.   

    不同局域网内经Internet的P2P通信技术总结:
    http://www.ppcn.net/n1354c38.aspx