小弟写了一个TCP的服务器程序,用到了winsock,在局域网里通连到客户端并且收发数据都没有问题。小弟想问下能否在互联网上跑,因为现在还没有去朋友那试,想事先知道一下,到时候好改。

解决方案 »

  1.   

    如果都有公共IP的话  或者在同一个局域网内 那就可以直接用socket访问到
      

  2.   

    说错  应该是公网IP  不是公共IP
      

  3.   

    注意MTU,一次发送包不要太大(<8KB),其他的没什么区别
      

  4.   

    要上外网可能要使用到NAT穿洞技术
      

  5.   

    主要的问题是局域网限制:
    有些局域网是通过代理出去的,除非代理服务器作了端口映射才行
    有些局域网有防火墙,要做设置才行由于防火墙和代理的原因,能连接不一定能ping,能ping不一定能连接。比如我可以ping公网任何一个地址,但无法访问网站,只能通过代理服务器。如果双方都是直接联入互联网就好办,查看网络属性就知道IP了。ADSL、3G都很方便,连网络邻居都可以使用。
    局域网内部地址一般用10.*.*.*和192.168。*。*,还有几个保留网断不常用。