我不知道如何将消息从客户端(在主机,Windows 10)发送到服务器(VM 上的 ubuntu)。这是我在 Windows 10 上的客户端代码:
import socket
target_host = "10.0.2.15" target_port = 1236
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((target_host, target_port))
client.send("ABCDEF")
response = client.recv(1024)
print(response)
这是虚拟机上的服务器代码:
import socket
import threading
bind_ip: "10.0.2.15"
bind_port: 1236
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind((bind_ip, bind_port))
server.listen(5)
print("Listening on %s:%d"%(bind_ip, bind_port))
def handle_client(client_socket):
request = client_socket.recv(1024)
print("Recived: %s"%request)
client_socket.send("Recived!")
client_socket.close()
while True:
client, addr = server.accept()
print("Accepted connection from %s:%d"%(addr[0],addr[1]))
client_handler = threading.Thread(target=handle_client, args=(client,))
client_handler.start()
如果我在同一台机器上同时运行客户端和服务器,它工作正常,但如果我在 VM 上运行服务器,在主机上运行客户端,它就不起作用。