VB中用winsock与外网连接,高手进!!

2024-11-15 04:40:38
推荐回答(2个)
回答1:

socket程序不存在内网外网的问题。
你内网能连通,那外网也能连通。问题是你的程序是怎么样的?
比如你的程序是A,你同学的程序是B
那A连接B的时候你是怎么处理的,你能知道B的IP地址吗?
如果双方都可以知道对方的IP地址,那能保证双方的防火墙允许通过吗?
有个简单的方式可以试一试。
比如你同学的机器IP是 10.10.10.10 (这个IP必须保证是公网IP或者说是外网IP),他的程序在6666端口监听。
那你用telnet 10.10.10.10 6666 命令,看看能不能连接上,如果不能,那就是网络不通了。

当然,如果都在内网里,想要穿透NAT网关,这个技术就复杂了,你可以去找找资料。

回答2:

按道理说,客户端设置好你的服务端的IP地址是可以连接上的,这里的关键是你这边的电脑是如何上网的,如果你是在局域网内部通过路由器上网的话,深圳那边的就无法连接到你的电脑了。当然,你在路由器上做“端口映射”的话就可以解决问题。

最后说一下,客户端设置的WinSock.RemoteHostIP必须是你的电脑的公网IP,不能是内网IP。

若还有问题,与我联系。