两台电脑不在一个城市,如何使这两台电脑构成一个局域网?

关于这个问题,目前主要有两种方式去解决:1.运营商专线连接 2.VPN方式连接。其中VPN方式连接又可以分为采用硬件设备和安装软件的方式,接下来我将具体进行阐述。

运营商专线连接

如何使这两台电脑构成一个局域网?我们只需要一根网线相连并设置同网段的IP地址就可以了,如果两台电脑不在一个城市,距离非常之远,那么理论上我们也只需要有一根足够长的网线相连接就可以了,这根长网线就是运营商的专线。专线接入是指用户使用ISP服务器提供的、接入到服务商网内的独享专用线路。专线有不少类型,比如MSTP、SDH、ATM、DDN专线,比较常见的MSTP专线就符合此需求,因为它可支持以太网协议接口,所以到局端时就是两根网线各插入到电脑的网口了,至于中间的传输原理过程是运营商的事情,你的感觉就跟本地局域网接入是一样的了。专线接入优点主要有线路稳定,高带宽,高安全等,缺点是价格非常昂贵,所以一般个人用户不大会去申请购买,而企业有时候为了组网是需求是会去购买专线接入的。

 

VPN方式连接

上述物理专线接入方式对个人来讲是不大现实的了,现实的环境是我们可以利用互联网,这样VPN技术就产生了,他就是在Internet公共网络上创建一个安全的私有连接,公共网络是不知道VPN的存在,不需要对公共网络作任何改动,VPN只是利用了公共网络的数据传输能力。

如果大家需要了解更多VPN的工作原理,可以参看以下这篇文章~

https://www.toutiao.com/i6748679531969643011/

1.硬件设备VPN接入

如下图所示,只要两个城市各部署一台支持VPN功能的网络设备,如路由器、防火墙等就可以进行配置站点到站点(Site to Site)的VPN进行连接了。这也是企业网络经常需要去连接各局域网的一种方式,比如公司在其他地方设有分部,那这些分公司的员工当然也是要访问到公司总部的内部系统了,站点到站点的VPN技术对于终端用户而言是透明的,即分公司是感觉不到VPN技术的存在,因为这种方式是通过各站点的VPN设备已经建立好了连接,所以会觉得相互之间访问的站点就是位于在同一个内网中。

2.安装软件VPN接入

对个人来讲,不会去租用专线也不大会去购买设备,所以我们可以在本地电脑上去安装一些支持VPN功能的免费软件去实现了,这里以TeamView为例,打开软件选项高级里面先安装VPN驱动程序,两台电脑主机都需要安装Teamviewer VPN 的功能。

然后连接其中一台电脑时,选择VPN方式,输入对端的TeamViewr ID和密码就可以连接上了。

连接完成后显示连接状态,其中会显示两个IP地址,一个是你本地电脑的,一个就是对端电脑的IP。

其原理简单理解为,当你安装好VPN驱动后,本地生成了一块虚拟网卡,连接成功后两台电脑会分配同网段的IP地址了。

 

所以我们如果我们需要访问对端电脑,就是去访问这个VPN虚拟IP地址就行了,比如打开对端电脑的远程桌面访问。

 

以上就是两台电脑不在一个城市,如何使这两台电脑构成一个局域网? 这个问题的解答了。

 

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
如果两台电脑不在一个局域网,那么它们之间的通信需要经过公网。在此情况下,可以使用Socket和服务器的组合来实现两台电脑之间的通信。 具体来说,可以在公网上搭建一个服务器,然后在每台电脑上使用Socket连接到该服务器。一旦连接建立成功,这两台电脑就可以通过服务器来进行通信了。 以下是一个简单的示例代码,演示了如何在两台电脑之间进行通信。其中,192.168.1.100为服务器的IP地址。 在电脑A上运行的代码: ``` import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws IOException { String serverAddress = "192.168.1.100"; // 服务器的IP地址 int serverPort = 8888; // 服务器的端口号 Socket socket = new Socket(serverAddress, serverPort); // 连接到服务器 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 读取服务器发来的消息 PrintWriter out = new PrintWriter(socket.getOutputStream(), true); // 向服务器发送消息 out.println("Hello, Server!"); // 向服务器发送消息 String response = in.readLine(); // 读取服务器发来的消息 System.out.println("Server: " + response); // 输出服务器发来的消息 } } ``` 在电脑B上运行的代码: ``` import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOException { int portNumber = 8888; // 服务器的端口号 ServerSocket serverSocket = new ServerSocket(portNumber); // 监听端口 Socket clientSocket = serverSocket.accept(); // 等待客户端连接 BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); // 读取客户端发来的消息 PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); // 向客户端发送消息 String request = in.readLine(); // 读取客户端发来的消息 System.out.println("Client: " + request); // 输出客户端发来的消息 out.println("Hello, Client!"); // 向客户端发送消息 } } ``` 在运行这两份代码之前,需要先在公网上搭建一个服务器,并将代码中的IP地址和端口号修改为服务器的地址和端口号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一口Linux

众筹植发

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值