How to set socket connection to virtualbox virtual machine in host-only mode?

问题描述 投票:0回答:0

我的主机操作系统是Ubuntu 20.04,虚拟机操作系统是CentOS 7.9。 VM 网络处于仅主机模式。我不知道为什么从主机到 VM 的套接字连接总是失败。

这是在虚拟机上运行的服务器的python代码:

import socket            
 
s = socket.socket()        
print ("Socket successfully created")
 
port = 12345
s.bind(('192.168.56.103', port))        
print ("socket binded to %s" %(port))

s.listen(5)    
print ("socket is listening")           

while True:
  c, addr = s.accept()    
  print ('Got connection from', addr )
  c.send('Thank you for connecting'.encode())
  c.close()
  break

这是在主机上运行的客户端的python代码:

import socket            

s = socket.socket()        
port = 12345               
s.connect(('192.168.56.103', port))
 
print (s.recv(1024).decode())
s.close()

服务器运行良好,但客户端不断报告 OSError: [Errno 113] No route to host. 主机和 VM 可以相互 ping 和 ssh 没有问题。我确定端口没有被双方的另一个进程占用。有没有办法让主机在仅主机模式下通过套接字连接到虚拟机?

python sockets virtualbox
© www.soinside.com 2019 - 2024. All rights reserved.