用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,但是在公网上为什么就不行!

用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,可以相互通信。但是在公网上为什么就不行,有公网IP地址。比如:公网IP为224.15.201.13服务端端... 用VB开发的聊天软件,拥有服务器端和客户端,在局域网内测试正常,可以相互通信。但是在公网上为什么就不行,有公网IP地址。比如:公网IP为224.15.201.13 服务端端口为007 客户端的ServerIP = "224.15.201.13" RemotePort = 007 客户端在内网测试内网地址就正常但是一旦改为公网地址就连接不到服务器? 请大师帮忙介绍下通信方法。 请问如何设置路由信息? 展开
 我来答
flyinggrasses
2011-08-04 · 超过18用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:45.5万
展开全部
你的服务端和客户端的IP地址和端口都一样?
设置路由信息在不同操作系统下方法是不一样的,建议将问题描述得更详细一些。
另外建议你将端口号设置得大一些,只要在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比较好。
brix391lbw
2011-08-06
知道答主
回答量:1
采纳率:0%
帮助的人:1730
展开全部
很明显你的服务器应该是在内网,并且拥有一个私网地址。
这种情况你需要现在路由器上做端口映射,将服务器的私网地址和端口号映射到公网,之后你客户端只要填入路由器的公网地址和相应的端口正常情况就可以登陆服务器了。
试一下吧 很不错哦,你可以试下
cみoiβg∶z薄ㄚ埽butΑfm#04826036032011-8-6 9:15:56
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式