两台电脑上的虚拟机socket通信

发现问题

在学习Linux网络编程的时候,遇到了一个问题:使用socket实现网络通信的时候,我预想的是使用笔记本上的ubuntu虚拟机(主机连的wifi)作为客户端去访问台式机(主机插网线)上的虚拟机服务端,但是无法建立连接。

问题解决

这就要设计到VMware虚拟机网络连接模式:
1、桥接模式 2、net模式 3、仅主机
详情参考:https://blog.csdn.net/zhang33565417/article/details/97779579
当我们设置为net模式下,相当于主机与虚拟机在两个局域网中;可以用ifconfig和ipconfig分别查看虚拟机与主机ip,发现不在同一网段!两台电脑上的虚拟机socket通信
这就使得两台主机分别与虚拟机不在同一局域网!!!(不在同一网段)
所以笔记本的客户端连不上台式机的服务端。
需要更改两台电脑虚拟机的网络模式为桥接模式。
两台电脑上的虚拟机socket通信
这时会发现你虚拟机与主机处于同一地址段的ip,然后通过客户端绑定服务器虚拟端的ip与端口号,就可以实现连接啦
两台电脑上的虚拟机socket通信