Files 和 Path SocketServer Socket 写一个 服务端发送文件1.jpg 和 客户端接收文件,并保存为2.jpg
时间: 2024-05-14 14:17:44 浏览: 91
以下是一个简单的服务端发送文件1.jpg并且客户端接收并保存为2.jpg的Python代码示例,使用了Socket和Path模块:
服务端代码:
```python
import socket
from pathlib import Path
# 读取文件
file_path = Path("1.jpg")
with file_path.open("rb") as f:
file_content = f.read()
# 创建socket
host = "127.0.0.1"
port = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
print("等待客户端连接...")
conn, addr = s.accept()
print("已连接:", addr)
# 发送文件
conn.sendall(file_content)
print("文件已发送")
# 关闭连接
conn.close()
s.close()
```
客户端代码:
```python
import socket
from pathlib import Path
# 创建socket
host = "127.0.0.1"
port = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
# 接收文件
file_content = b""
while True:
data = s.recv(1024)
if not data:
break
file_content += data
# 保存文件
file_path = Path("2.jpg")
with file_path.open("wb") as f:
f.write(file_content)
print("文件已保存为2.jpg")
# 关闭连接
s.close()
```
注意:此代码仅作为示例,实际应用中需要添加错误处理和安全性检查。
阅读全文