C++通信程序的一个奇葩问题!

岳锋 2013-07-29 09:02:24
我用C++在MFC下,使用多线程以及socket,写了一个服务器、一个客户端。
1:在本机的局域网内,可以实现通信。


2:当以通过路由器来连接外网上网的人的主机来做服务器,别人来做客户端,去连接,却连接不上。

3:当以通过直接的拔号上网的人的主机来做服务器,别人来做客户端(包括用路由器上网以及拔号上网的人),都可以实现通信。


我想问下:是不是,路由器有什么阻挡功能?导致通过路由器上网的人的主机,不能做服务器。
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
岳锋 2013-07-29
  • 打赏
  • 举报
回复
灰常谢谢,真的成功了。要在路由器里面设置虚拟端口。谢谢谢谢谢谢。
大尾巴猫 2013-07-29
  • 打赏
  • 举报
回复
引用 9 楼 l_o_s 的回复:
[quote=引用 1 楼 ananluowei 的回复:] 要路由器设置一个端口映射的。 有点类似bitcomet软件的黄灯阻塞。
怎么做。[/quote]
百度查找 "bitcomet黄灯"。
如果你和我一样用的光缆路由器,就麻烦了,光缆路由器的设置端口需要超级用户的密码,安装的人不肯给。
岳锋 2013-07-29
  • 打赏
  • 举报
回复
引用 1 楼 ananluowei 的回复:
要路由器设置一个端口映射的。 有点类似bitcomet软件的黄灯阻塞。
怎么做。
岳锋 2013-07-29
  • 打赏
  • 举报
回复
引用 3 楼 max_min_ 的回复:

看看是不是路由器把客户端的消息过滤掉了!
抓包看看,连接是失败返回的是什么呢,
主机也抓包看看,有什么连接上来
。。不会做。
岳锋 2013-07-29
  • 打赏
  • 举报
回复
引用 6 楼 jerry_dqh 的回复:
》当以通过路由器来连接外网上网的人的主机来做服务器,别人来做客户端,去连接,却连接不上 主要是由于这个服务器的地址不是公网ip了。
怎么引用公网IP?我在cmd下查看的ip是192.168.0.3,在百度:我的ip.所显示的是59.35.42.127。我两个都试过,就是不行。
碼上道 2013-07-29
  • 打赏
  • 举报
回复
》当以通过路由器来连接外网上网的人的主机来做服务器,别人来做客户端,去连接,却连接不上 主要是由于这个服务器的地址不是公网ip了。
碼上道 2013-07-29
  • 打赏
  • 举报
回复
看路由,trace一下看看。要么就是防火墙了
ForestDB 2013-07-29
  • 打赏
  • 举报
回复
查查有无防火墙规则 又或者看是否需要NAT
max_min_ 2013-07-29
  • 打赏
  • 举报
回复

看看是不是路由器把客户端的消息过滤掉了!
抓包看看,连接是失败返回的是什么呢,
主机也抓包看看,有什么连接上来
你怎么了熊吉 2013-07-29
  • 打赏
  • 举报
回复
外面应该只能看到你路由器的ip吧
大尾巴猫 2013-07-29
  • 打赏
  • 举报
回复
要路由器设置一个端口映射的。 有点类似bitcomet软件的黄灯阻塞。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧