看过很多关于局域网下的两台设备之间的通信方式,最多的就是通过socket进行tcp/ip通信。建立一个服务端,再建立一个客户端,客户端向服务端发起请求连接。然后再进行两端的通信。但发现其实这却存在着很多的问题与不足–如果是不在同一局域网下的两台设备怎么通信。
经过网上资料的查询终于找到了解决非同一局域网下的两台设备的通信问题–服务器。
这就要牵扯到一大堆名词上了,简而言之 就是我们的一般所查到本机的ip是叫做“内网ip”或“本地ip”,它是由路由分配给每一个在其局域网下的每台设备的地址。甚至于没有网络也可以进行局域网中的消息传输,但却不能给不在同一局域网下的设备传输消息。原因就是关于内网与外网之间的关系。外网ip才是连接Internet的ip,而路由器将一个外网ip分到n个设备上,在给每个设备取一个名字,就是内网ip。


那么我们如果想跟另一个不在同一局域网的设备连接的话,那么我们就要先知道对方的外网ip,通过我们的内网穿过外网到达人家的内网才行。这里就要引入一个名词————“nat”
“NAT(Network Address Translator)是网络地址转换,它实现内网的IP地址与公网的地址之间的相互转换,将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。NAT的最典型应用是:在一个局域网内,只需要一台计算机连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。”
而我们可以用的方式是:需要的技术就是内网穿透:即NAT穿透,采用端口映射,让外网的电脑找到处于内网的电脑。还需要一个中间设备————服务器。原理就是,因为两边通过nat穿透,连接到服务器,这是服务器就会得到两边通过端口映射的IP地址与端口号,然后就可以让服务器将两边的消息传送到对方的设备上了。
像QQ了或者是访问网络都是通过这种方式进行数据传输的。
当然咱们也可以模拟一下非同一局域网之间的消息传输,只需要一根网线,两个连在这根网线的局域网下的路由器。服务器设备连接网线,两个客户端分别连接两个路由器如果反了的话就会发现根本不能连接,因为,只能从内网向外网连接,不能由外网向内网连接。然后,这就是一个模拟的服务器与客户端之间的关系了。这时候当两台客户端连接到服务器之后你就会发现,服务器上显示的ip与你本机现示的ip不一样,这就是路由器通过端口模拟将内网ip换位外网ip并将设备的地址模拟成一个端口。

关于非同一局域网下两台设备之间的网络通信(服务器的作用)相关推荐

  1. 同一局域网下两台PC之间大文件传输

    操作步骤: 两台电脑连接同一局域网(手机开热点,两个设备一起连也是一样的) 右击右下角网络连接图标:打开网络和Internet设置,选择共享选项,开启所有网络标签下的公用文件夹共享权限,设置无密码,一 ...

  2. 局域网下两台电脑之间的文件传输

    场景 首先,我的实验室有两台电脑,一台ubuntu接实验室网线,另一台windows使用的是其他实验室WiFi(我们搬了实验室之后全部都是网线没有WiFi).这就造成了不同操作系统如果有的时候需要互相 ...

  3. 解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机

    解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机 解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机 问题描述 第一步:启用规则 第二步:修改高级共享设置 第三步 ...

  4. 要在某一房间中两台计算机之间,关于局域网、广域网和互联网的组建和因特网的接入,回答下列问题。要在某一房间中两台计算机之间实现网络通信,下列方法不可行的是...

    集市交易中的叫卖声和敲击声是最一种特殊的民俗现象,局域建和接入间中计算机之间实其共同特点为 网广网为什么有人会产生心理困扰() 牙周组织在受到异常的力作用其损伤一直存在,域网因特房但也会有组织修复 ...

  5. 同一个网络下两台设备看直播时,进度不是一致的?浅谈其运作原理

     目录 ​编辑 前言 开篇 概念补充 直播原理 真实场景 总结 前言 大家好哇!我是爷爷的茶七里香,发现一个很有意思的现象,想必大家也遇到过,我是在跟朋友同时看LOL总决赛直播的时候发现的,当时我跟他 ...

  6. Android向:实现同一局域网内两台手机之间的文件互传

    背景 最近要做一个demo,目的是实现局域网内的两台手机之间的文件互传.具体流程如下: 手机 A 从服务器上下载一个 apk 文件到本机上: 手机 A 在自己的某个端口上启动一个 Server 服务, ...

  7. 局域网下两台电脑ping不通

    参考:https://blog.csdn.net/sinat_38718975/article/details/79866557 1.在同一网段内 假设电脑A.B均在192.168.0.X的网段内,两 ...

  8. 同一局域网下两台电脑传文件

    自己买了新电脑,由于有大量文件需要传输,故搜索使用了这个方法. 第一步: 在控制面板-->网络和共享中心-->高级共享设置,打开后按如下设置. 问题:在启用网络发现时,点击"保存 ...

  9. ROS实现两台计算机之间的网络通信

    转载: https://blog.csdn.net/banzhuan133/article/details/77825445 1.准备工作 两台装有ROS的笔记本,并知道他们的IP地址和主机名. 主机 ...

最新文章

  1. 微信开发者和其他服务器区别,求教微信公众号开发中两种认证技术的区别?
  2. 二叉树的建立与遍历(先中后层序)
  3. 个人总结------高级知识点必会
  4. DBSAN密度聚类算法
  5. docker 发布应用时添加 git revision
  6. 这10道springboot常见面试题你需要了解下 1
  7. app 图标规格参考表
  8. java 优秀开源项目
  9. 解决百度文库文字无法复制
  10. c 语言全局变量的声明及用法,《c语言全局变量的用法》
  11. Apple M1 开启HiDPI的新方法,无需关闭SIP,无需SwitchResX
  12. iphone机型分辨率
  13. sqlserver with 语法
  14. 微信提现(商户向商家转账)
  15. linux与信息安全,网络与信息安全系统安全Linux系统安全.ppt
  16. 关于height:100%的简单理解
  17. python动态仪表图_matplotlib仪表动态更新
  18. threejs使用精灵图添加图片贴图
  19. 12枚硬币中取1枚假币的问题
  20. IPv6、特殊常用的IP地址

热门文章

  1. 详细了解加密狗的加密原理
  2. Android架构设计04-实体类转Json框架
  3. 粒子群算法(PSO)的C++实现
  4. 如何养成最高效的工作方法
  5. 让早餐,更新鲜,只要一瓶零度果坊早橙好NFC果汁
  6. 基于Python实现看图说话和微表情识别
  7. 深入浅出CChart 每日一课——快乐高四第五课 梦想的天空,锦上添花之客户区自绘篇
  8. 大仙来了【20年复试上机真题】
  9. php常用url加密方法,php实现URL加密解密的方法
  10. C++辗转相除法详解