您好、欢迎来到现金彩票网!
当前位置:金祥彩票app下载 > 个人通信系统 >

用MFC写的TCP通信软件为何只在局域网内能连接

发布时间:2019-07-19 20:46 来源:未知 编辑:admin

  在同一个实验室内的不同主机上,在客户端填入服务端主机的IP地址,然后连接,可以通讯。但我将客户端软件传给别的城市的同学,让他与我进行连接,却无法连接成功。这是为什么呢?如果远程无法连接,那么QQ是如何实现的呢?难道用UDP就可以了吗?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  那样肯定是不行的,在一个局域网内,每一个主机的ip都是固定并已知的。在不同的局域网之间进行数据通信需要路由或网关才可以,QQ实现好友通信是因为我们并不是直接与对方连接的,我们发给对方的数据需要通过腾讯公司的服务器转发给对方。如果你细心观察就会发现,你在与你的朋友进行QQ通信之前,需要先登录QQ,而这个时候其实是连接到腾讯公司的服务器上。当我们给好友发信息的时候,信息会先到达腾讯公司的服务器上,再从腾讯公司的服务器上转发到好友那里。如果没有腾讯公司的服务器做为桥梁,任何两个在不同的局域网里面的两个QQ是没法进行通信的。要了解这些,建议你去看一看TCP/ip协议的书籍。

  谢谢了,我想知道的是我们连接腾讯的服务器也是要连接到腾讯的IP的,那么为什么我们普通PC之间不能直接用IP连接呢?我在命令行下查到自己的IP,然后将自己的IP用QQ发送给我在另一个城市的朋友,让他用我写的简单的软件连接我的IP,我这里有一个客户端,为什么连接不上呢?而自己同一个实验室的同学之间就可以连接上。TCPIP刚开始看,还没完全明白

  如果要通过一个ip连接一个互联网上的机器,那么这个IP必须是公网IP,你发给你的朋友的IP是你的局域网的IP,局域网的IP和公网IP是不一样的,局域网IP只能确定一个局域网内部的一个机器,而公网IP用于确定一个直接与互联网上相连的机器。举一个简单的例子,某一局域网假设不与互联网连,其中某一台电脑ip是192.168.1.10。另一个局域网假设也不与互联网连,其中某一台电脑ip也是192.168.1.10。那么这两IP可以唯一确定他们所在局域网的某一台电脑,那么现在假设这两个局域网都通过路由器连接的到互联网,那么他们都可以上网,同时也没有必要去改他们的IP,也就是说他们的IP都是192.168.1.10,那么按照你的连接方法,一个局域网ip是192.168.1.10的电脑连接另一个局域网里面192.168.1.10,很显然,两个的ip都是一样,那不是自己连接自己吗。那么他们为什么都可以上网,都可以进行qq通信,这其中有路由器和腾信服务器在中间起了桥梁的作用。至于怎么起的作用,需要你去看一看tcpip协议的书自然就会明白。

http://adammarine.net/gerentongxinxitong/820.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有