实现目标:两台电脑的Ubuntu系统,一个客户端一个服务端,在QT中实现通信;
我的方法是在桥接模式下,手动改IPV4的IP地址网关和子网掩码。
下面是桥接模式下网络的拓扑图,在桥接模式下, VMware虚拟出来的操作系统(ubuntu)就像是局域网中的一独立的主机,它可以访问网内任何一台机器,也就是说我的Ubuntu在桥接模式下可以连接到和主机一样的网络,比如主机连接了你的WiFi,那我Ubuntu也可以链接到你的wifi,当我插了一个以太网,主机这边可以访问到这个以太网,同样的Ubuntu也可以访问到,这个就是桥接,可以将虚拟机直接连接到外部网络。
那Ubuntu是怎么访问到wifi或者是以太网的呢?
在VMware下打开 “虚拟网络编辑器”---->"更改配置"
红色框中的就是所有能桥接到的外部网络,可以打开window下的 控制面板\网络和 Internet\网络和共享中心--->更改适配器设置,你会看到如下图的网卡,名字跟上图的选项是对应的,选择第三个就是跟主机一样连接到了wifi;
实现步骤:
1.桥接到以太网
桥接模式下选择这个选项,与主机的以太网同名,此时你的Ubuntu应该是断网状态的,因为你已经桥接到了以太网,而这个以太网口又没有接到路由器。
2.手动更改IPV4
①双击打开下面这两个
②设置ip 网关和 掩码
同时第二台电脑也要做相同的设置,ip的网段要相同,后面那位可以不一样。
③用一跟以太网线连接两台电脑
打开命令终端,输入ipconfig 或者ifconfig /all可以查看当前的网络连接状态和设备的ip,这个就是刚刚我们配置的以太网。
我们可以使用ping命令检查一下两台电脑是否可以连通;
我这里是连通了,现在是两台主机之间是连通了。
④打开ubuntu,更改IPV4
填写地址,子网掩码和网关等信息,子网掩码和网关要和在主机设置的时候的一样,网关又称网间连接器、协议转换器,也就是网段(局域网、广域网)关卡,不同网段中的主机不能直接通信,需要通过关卡才能进行互访,比如IP地址为192.168.31.9(子网掩码:255.255.255.0)和192.168.7.13(子网掩码:255.255.255.0)的两个主机不是同一网段,想要进行互访就得需要网关。
另一台电脑的ubuntu设置:
打开一个终端,尝试ping通两个ubuntu
可以ping通
⑤打开QT程序界面,一台电脑客户端,一台电脑服务端,运行程序。
客户端:
qt代码链接:
通过百度网盘分享的文件:qtproject.zip
链接:https://pan.baidu.com/s/1Wb8q_Rsxf0OmPLb77IWsCw?pwd=0dok
提取码:0dok
ps:通过我这个方式连接的话Ubuntu是无法上网的,或许还有别的好的方法可以既联网又可以通信的方法吧,比如说我Ubuntu连接WiFi局域网的时候,你会发现主机的无线局域局域网IP和Ubuntu是可以ping通的,另一台电脑也可以和ubuntu ping通,因为他们处在一个局域网内,所以按理来说应该是可以直接通过WiFi这个局域网来实现连个Ubuntu之间的通信的。