如何从主机连接Linux虚拟机?



我正在使用Python创建一个简单的聊天应用程序。

服务器代码在Linux虚拟机中(我使用的是Virtual Box),客户端代码在安装了Virtual Box的Windows 10计算机中。

我正在尝试连接Python套接字。

当我ping两台机器时,它会工作。

我的问题是我应该把什么端口在客户端代码:

客户

import socket
import subprocess
cliente = socket.socket()
try:
cliente.connect(('192.168.1.33',9090))
cliente.send("1")

我尝试了所有可用的端口;然而,什么都不起作用。我想我遗漏了一些东西。

首先,您需要确保Linux虚拟机中服务器代码传递给bind函数的端口号与客户端connect函数使用的端口号相同。

在python中检查这个简单的服务器-客户端示例,它使用端口12345:https://www.tutorialspoint.com/python/python_networking.htm

第二,(根据你的评论)应该在客户端connect函数中使用的IP地址是运行服务器代码的机器的IP地址,在你的情况下是Linux VM。尝试在Linux虚拟机中运行shell命令ifconfig获取IP地址

如果此地址不能工作,可以将虚拟机的网络设置更改为桥接而不是NAT,并再次尝试ifconfig命令并获得新的IP地址。

从主机到Linux虚拟机执行SSH将工作得很好!!