使用python完成两台主机间的信息传输
时间: 2024-03-12 08:43:33 浏览: 25
要实现两台主机间的信息传输,可以采用 socket 编程。socket 是一种网络编程中常用的通信机制,可以实现进程之间的通信、进程和主机之间的通信、不同主机之间的通信等。
以下是一个简单的实现思路:
1. 在一台主机上编写一个服务端程序,用于接收另一台主机发送的信息。
```python
import socket
# 创建一个 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名和端口号
host = socket.gethostname()
port = 8888
# 绑定主机名和端口号
server_socket.bind((host, port))
# 等待客户端连接
server_socket.listen(5)
# 循环监听客户端连接请求
while True:
# 接受客户端连接
client_socket, addr = server_socket.accept()
# 接收客户端发送的数据
data = client_socket.recv(1024)
# 打印接收到的数据
print("接收到来自 %s 的数据:%s" % (str(addr), data.decode()))
# 关闭客户端连接
client_socket.close()
```
2. 在另一台主机上编写一个客户端程序,用于向服务端发送信息。
```python
import socket
# 创建一个 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取服务端主机名和端口号
host = "服务端主机名"
port = 8888
# 连接服务端
client_socket.connect((host, port))
# 发送数据
data = "Hello, world!"
client_socket.send(data.encode())
# 关闭客户端连接
client_socket.close()
```
上述代码中,服务端程序首先创建一个 socket 对象,绑定主机名和端口号,并开始等待客户端连接。客户端程序创建一个 socket 对象,连接服务端,并向服务端发送数据。服务端接收到客户端发送的数据后,打印出来,并关闭客户端连接。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)