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

How to connect Linux Virtual Machine from its host computer?

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

服务端代码在Linux虚拟机中(我用的是Virtual Box),客户端代码在安装Virtual Box的Windows10电脑中

我正在尝试将它与 Python 插座连接。

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

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

客户

import socket
import subprocess

cliente = socket.socket()

try:
    cliente.connect(('192.168.1.33',9090))
    cliente.send("1")

我尝试了所有可用的端口;但是,没有任何效果。我想我缺少一些东西来完成这项工作。

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

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

其次,(根据您的意见)应该在客户端 connect 函数中使用的 IP 地址是机器的 IP 地址 运行ning 服务器代码,在您的情况下Linux虚拟机。尝试在 Linux 虚拟机中 运行 shell 命令 ifconfig 获取 IP 地址。

如果此地址无效,您可以将虚拟机的网络设置更改为 bridged 而不是 NAT,然后再次尝试 ifconfig 命令并获取新 IP 地址。

从主机执行 SSH 到 Linux 虚拟机会很好!!