我用MFC编了一个小型网络游戏,为什么只能在局域网内部实现联机,在外网却不行?

时间:2022-06-01 19:48:57
我编的游戏想实现联机功能,在局域网内部通过内网ip 192.168.0.13(我的电脑ip,作为游戏服务器),就可以在在两台机子上联机游戏,但在局域网之外的话,我到网上找到我的外网ip,然后让外网电脑连接此ip,却连接失败,后来发现这个ip是我们局域网共有的ip,那么这个问题该如何解决呢?另外,我设定的端口号是在程序内部规定为100,当连接时只需输入想要连接的ip,不需要输端口号.不知道问题的存在与端口号是否有关,由于本人是初学者,希望高人能不吝赐教!多谢!

18 个解决方案

#1


看网络基础
你必须有自己的公网IP别人才能看到你.

#2


我的公网ip是不是我的外网ip吗?我在http://ip.wisa.com.cn/这个网站上找到我的外网ip了,但发现一个局域网的电脑上的外网ip都是这一个!能再详细一点说明吗?

#3


楼主,手也太新了。。。。

#4


呵呵,的确啊,所以希望大家帮忙解惑啊!多谢各位了

#5


你应该有一个自己的外网IP啊,如果是内外IP在地址转换时别人是看不到你的IP的!

#6


我用了外网ip,可对方还是不能连接上.我们寝室几台电脑都是这个外网ip,别人要连接到我的电脑上,光通过这个外网ip能找到我的电脑吗?

#7


你们用了宽带路由器吧!

#8


是啊,望上有资料说用nat协议进行内外网ip地址的映射,谁能详细说明一下吗?

#9


用花生壳

#10


lz没说清楚自己的想法……

如果只要在公网上进行游戏
1、不使用路由器拨号,使用自己机器拨号,得到自己ip地址,别人连接你既可。
2、用路由器拨号,那么得到的公网ip实际上是路由器的ip地址,正如lz所说你们局域网几台公网ip都相同。如果另一端要连接你,要在路由器里面设置,将100端口映射到你的机器上。

#11


楼上说的很清楚。
楼主能写网络游戏!!怎么这么简单的问题不懂??

#12


端口映射,数据才能传输到你机器上
要不外部指定公网的ip地址数据也到不了你机器

#13


很感谢各位赐教,我写的网络游戏的游戏算法是自己编的,但联网这一块是参考资料仿写的,所以不是很明白为什么会有这个问题!现在问题是怎样进行端口映射,我们那个陆游器不知道有没有这个功能!查了一上午资料还不是很明白,希望高手们能解释的更清楚些!

#14


还有个问题是如何得到自己的外网ip地址,我之前是通过http://ip.wisa.com.cn/这个网站查到自己的外网ip,但却发现
昨天显示的ip和今天显示的ip不一样?

#15


你是ADSL还是怎样上网?没有固定IP的话每次拨号都可能不一样的
端口映射看你路由器的说明就可以了

#16


IP不一样是因为你每次上网都是路由自动给你分配IP的

#17


ip不同是因为每次拨号分配的ip不同
所以如果你要想你的游戏在网上能够总能连接到
那就要申请域名
并用花生壳等软件绑定

路由器内部应该能设置
找一下路由器的说明书
一般情况下
如果你被路由器自动分配的ip是192.168.a.X那么就在ie里输入192.168.a.1能到管理页面

#18


做了端口映射之后,问题终于解决了,我又学到了很多新的知识,真的是很感谢各位!

#1


看网络基础
你必须有自己的公网IP别人才能看到你.

#2


我的公网ip是不是我的外网ip吗?我在http://ip.wisa.com.cn/这个网站上找到我的外网ip了,但发现一个局域网的电脑上的外网ip都是这一个!能再详细一点说明吗?

#3


楼主,手也太新了。。。。

#4


呵呵,的确啊,所以希望大家帮忙解惑啊!多谢各位了

#5


你应该有一个自己的外网IP啊,如果是内外IP在地址转换时别人是看不到你的IP的!

#6


我用了外网ip,可对方还是不能连接上.我们寝室几台电脑都是这个外网ip,别人要连接到我的电脑上,光通过这个外网ip能找到我的电脑吗?

#7


你们用了宽带路由器吧!

#8


是啊,望上有资料说用nat协议进行内外网ip地址的映射,谁能详细说明一下吗?

#9


用花生壳

#10


lz没说清楚自己的想法……

如果只要在公网上进行游戏
1、不使用路由器拨号,使用自己机器拨号,得到自己ip地址,别人连接你既可。
2、用路由器拨号,那么得到的公网ip实际上是路由器的ip地址,正如lz所说你们局域网几台公网ip都相同。如果另一端要连接你,要在路由器里面设置,将100端口映射到你的机器上。

#11


楼上说的很清楚。
楼主能写网络游戏!!怎么这么简单的问题不懂??

#12


端口映射,数据才能传输到你机器上
要不外部指定公网的ip地址数据也到不了你机器

#13


很感谢各位赐教,我写的网络游戏的游戏算法是自己编的,但联网这一块是参考资料仿写的,所以不是很明白为什么会有这个问题!现在问题是怎样进行端口映射,我们那个陆游器不知道有没有这个功能!查了一上午资料还不是很明白,希望高手们能解释的更清楚些!

#14


还有个问题是如何得到自己的外网ip地址,我之前是通过http://ip.wisa.com.cn/这个网站查到自己的外网ip,但却发现
昨天显示的ip和今天显示的ip不一样?

#15


你是ADSL还是怎样上网?没有固定IP的话每次拨号都可能不一样的
端口映射看你路由器的说明就可以了

#16


IP不一样是因为你每次上网都是路由自动给你分配IP的

#17


ip不同是因为每次拨号分配的ip不同
所以如果你要想你的游戏在网上能够总能连接到
那就要申请域名
并用花生壳等软件绑定

路由器内部应该能设置
找一下路由器的说明书
一般情况下
如果你被路由器自动分配的ip是192.168.a.X那么就在ie里输入192.168.a.1能到管理页面

#18


做了端口映射之后,问题终于解决了,我又学到了很多新的知识,真的是很感谢各位!