请教下:用API函数做socker时,我做出来的程序,好象在局域网内可以通信,当和其他地方人通信时就连不上了。有人说那是要进行端口转化,请问下,怎么做,用Inet_addr那函数,将.形式的输入的IP地址转化后,还要做什么工作,才能在网间进行通信,现在网内可以通信了

解决方案 »

  1.   

    才20分..真不想回...首先你要清楚一个问题.服务端运行的那台机器(公司)是否是公网IP.如果不是,那么你需要做路由器上的端口映射.你的校园网能否访问你们公司的外网!.如果一起都可能..那么你连接的时候就用公司的外网和绑定的端口进行则可..如何知道自己的IP是内网还是公网:
    最简单的方法,打开www.ip138.com然后把他上面显示的IP地址和你机器的TCP/IP配置信息中的IP地址比较.如果一样,则你的机器是外网.如果不是,那么是内网.
      

  2.   

    如果是私有IP的话,要把IP一对一映射.
      

  3.   

    可能涉及到Nat穿透问题,详见有关NAT穿透的文章吧