如何用socket将图片发送给服务器
时间: 2024-02-06 15:10:47 浏览: 24
将图片转成二进制数据,然后通过socket发送给服务器。以下是一个简单的例子:
```python
import socket
# 读取图片数据
with open("example.jpg", "rb") as f:
img_data = f.read()
# 连接服务器
HOST = "localhost"
PORT = 8888
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
# 发送图片数据
client_socket.sendall(img_data)
# 关闭连接
client_socket.close()
```
服务器端可以通过类似以下代码接收图片数据:
```python
import socket
# 监听端口
HOST = "localhost"
PORT = 8888
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()
# 接收连接
client_socket, client_address = server_socket.accept()
# 读取数据
img_data = client_socket.recv(1024)
# 存储图片
with open("example.jpg", "wb") as f:
f.write(img_data)
# 关闭连接
client_socket.close()
server_socket.close()
```