如何从主机连接 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 虚拟机会很好!!
我正在使用 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 虚拟机会很好!!