各位大侠好,现在小弟遇到一个麻烦问题,用vb6.0的winsock想实现不在同一个局域网内通信,当然在同一个局域网内通信是没有问题。
现在我有一台笔记本,采用电信的3G拨号上网(IP:172.22.212.180),另外一台台式机接到公司的网络中上网(IP:192.168.1.99),我现在想实现这两台电脑通信,采用winsock的方法,笔记本作为服务器,台式机作为客户端,请问我该怎么做呢?
小弟先在这里谢谢大家了!

解决方案 »

  1.   

    确认下你的IP:172.22.212.180是不是公网地址,运营商是否封了一些端口,如果是并且没有封就和局域网内通信没区别,改下IP就行;反之就得找运营商了
      

  2.   

    c_cyd2008:您好,现在我的配置是
    服务器配置:(服务器的IP地址是172.22.212.180)
         Winsock1.Protocol = sckTCPProtocol
        Winsock1.LocalPort = 5600         '设置本地服务器的端口号
         Winsock1.RemotePort = 9999        '设置远程客户端的端口号
        Winsock1.Bind Winsock1.LocalPort, Winsock1.LocalIP
        Winsock1.Listen客户端配置:(客户机的本地地址是192.168.1.99)
      Winsock1.Protocol = sckTCPProtocol
      Winsock1.LocalPort = 9999               '设置本地客户端的端口号
      HostIPaddress = "172.22.212.180"        '设置远程服务器的网络地址
      HostPortaddress = "5600"                '设置远程服务器的端口号
      Winsock1.Connect HostIPaddress, HostPortaddress
    但是现在都连接不上,你的意思,
    第一:我需要先确认一下172.22.212.180是不是公网,不是的话我需要和运营商联系一下
    第二:你所指的端口是服务器的port吗?如果没有封我怎么修改IP地址呢?修改IP地址是指的是修改服务器的IP地址吗?
    请帮忙解答一下,谢谢!
      

  3.   

    1、只有公网上的机器才能直接通信,但现在有好多地方的运营商并没有给普通用户接入公网,或者封了一些端口,所以要确认一下,另你公司的防火墙是否允许通信,你也需要和公司网管联系的。你可以先在公司电脑命令行中ping 172.22.212.180测试一下 
    2、局域网内已能通信,那只需要更改客户端remotehost为你服务器ip即可
      

  4.   

    1)要公网IP,如果不知道,可上IP138查下。
    2)中国电信封杀了普通用户的80端口,不要用这个端口做服务端。广东是这样,不知道其他地方怎么样。
      

  5.   

    去下个花生壳动态域名软件,设为开机启动服务即可,不然你3g网络ip地址应该不定吧,有了域名以后就可以设置remotehostname为服务器域名,如果需要我可以发我以前做的代码给你。
      

  6.   

    您查询的IP:172.22.212.180本站主数据:本地局域网
    参考数据一:本地局域网你现在面对的是2个局域网之间的通信了.
    用花生壳这样的动态域名也许不行吧.用UDP协议,打洞...这也要有个公网服务器呀.万一你开发了一个新的qq客户端,用qq的网络资源那你就强大了.
      

  7.   

    服务器必须有公网ip  采用 tcp协议是最简单的一种  
      

  8.   

    7楼的老师,能发一个VB 花生壳动态解析IP的代码吗?[email protected],先谢了。