用Socket 写一个 发送图片到 SocketServer的 demo
时间: 2024-05-08 21:21:21 浏览: 97
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
以下是一个简单的 Python demo,可以通过 Socket 发送图片到 SocketServer:
```python
# client.py
import socket
HOST = 'localhost'
PORT = 8000
with open('image.jpg', 'rb') as f:
image_data = f.read()
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(image_data)
print('Image sent successfully.')
```
```python
# server.py
import socket
HOST = 'localhost'
PORT = 8000
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
image_data = b''
while True:
data = conn.recv(1024)
if not data:
break
image_data += data
print('Image received successfully.')
with open('new_image.jpg', 'wb') as f:
f.write(image_data)
```
以上代码是一个简单的 Socket 客户端和服务器端实现,使用 Python 自带的 socket 库。客户端将图片的二进制数据通过 Socket 发送到服务器端,服务器端接收数据并将其写入到一个新文件中。注意,此示例仅用于演示用途,实际使用时需要考虑异常处理和安全因素。
阅读全文