用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,但是在公网上为什么就不行!
用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,可以相互通信。但是在公网上为什么就不行,有公网IP地址。比如:公网IP为224.15.201.13服务端端...
用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,可以相互通信。但是在公网上为什么就不行,有公网IP地址。比如:公网IP为224.15.201.13 服务端端口为007 客户端的ServerIP = "224.15.201.13" RemotePort = 007 客户端在内网测试内网地址就正常但是一旦改为公网地址就连接不到服务器? 请大师帮忙介绍下通信方法。 请问如何设置路由信息?
展开
2个回答
展开全部
你的服务端和客户端的IP地址和端口都一样?
设置路由信息在不同操作系统下方法是不一样的,建议将问题描述得更详细一些。
另外建议你将端口号设置得大一些,只要在65535以内就可以。建议你先看看服务器已经使用的端口,如果是windows的话,在命令行模式下输入netstat -a,可以看到你当前TCP和UDP已经使用了的端口号。
不知道你所编程序的详情。如果你使用TCP协议,能不能设置TCP的滑动窗口或等待时间?因为在公网上传输数据不如在局域网中可靠,如果TCP滑动窗口或等待时间不够大,通信主机就会认为TCP连接失败,丢掉所有数据包。使用个网络抓包工具看看吧,比如使用wireshark,看看在公网环境下双方是根本收不到包,还是能收到包,但是无法正常通信。
设置路由信息在不同操作系统下方法是不一样的,建议将问题描述得更详细一些。
另外建议你将端口号设置得大一些,只要在65535以内就可以。建议你先看看服务器已经使用的端口,如果是windows的话,在命令行模式下输入netstat -a,可以看到你当前TCP和UDP已经使用了的端口号。
不知道你所编程序的详情。如果你使用TCP协议,能不能设置TCP的滑动窗口或等待时间?因为在公网上传输数据不如在局域网中可靠,如果TCP滑动窗口或等待时间不够大,通信主机就会认为TCP连接失败,丢掉所有数据包。使用个网络抓包工具看看吧,比如使用wireshark,看看在公网环境下双方是根本收不到包,还是能收到包,但是无法正常通信。
更多追问追答
追问
服务端放在服务器上的 服务器是双网卡 把服务开启 客户端用内外IP可以正常通信 但是一旦改为外网IP连接 就无法连接了。 端口号都是一样的都是10001的 操作系统服务端为server2003 客户端为XP系统 具体该如何来设置路由信息呢? TCP的滑动窗口或等待时间怎么弄 还没弄过?
追答
具体可参见“Windows 2000 Server 的软件路由设置 2003 同样适用”,http://wenku.baidu.com/view/dd9051d376a20029bd642d17.html
或是在命令行模式下输入route/?,看看应该怎么设置路由。
另外服务端和客户端的端口号应该不同。比如服务端端口号是10001,客户端端口号设置成10002比较好。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询