Socket 传一幅图片给另一个终端
时间: 2023-12-07 14:17:11 浏览: 57
要在两个终端之间传输一幅图片,可以通过以下步骤来实现:
1. 在发送端,将图片文件读取为二进制数据,并使用 socket 将数据发送到接收端。
2. 在接收端,使用 socket 接收数据,将接收到的二进制数据写入一个新的文件中,以保存图片。
具体实现可以参考以下示例代码:
**发送端**
```python
import socket
# 读取图片文件
with open('image.jpg', 'rb') as f:
data = f.read()
# 创建 socket 连接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8888))
# 发送数据
s.sendall(data)
# 关闭连接
s.close()
```
**接收端**
```python
import socket
# 创建 socket 连接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 8888))
s.listen(1)
# 接收连接
conn, addr = s.accept()
# 接收数据
data = conn.recv(1024)
# 写入文件
with open('new_image.jpg', 'wb') as f:
f.write(data)
# 关闭连接
conn.close()
s.close()
```
以上代码仅供参考,实际使用时需要根据具体情况进行修改和优化。