基于TCP协议的文件接收,并用字典保存文件名和文件大小,并将其转换为JSON格的代码
时间: 2023-05-21 12:03:20 浏览: 54
以下是基于TCP协议的文件接收,并用字典保存文件名和文件大小,并将其转换为JSON格式的Python代码:
```python
import socket
import json
# 创建TCP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('localhost', 8888))
# 监听客户端连接
server_socket.listen(1)
# 等待客户端连接
print('等待客户端连接...')
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
# 接收文件名和文件大小
file_info = client_socket.recv(1024).decode()
file_info_dict = json.loads(file_info)
# 打印文件名和文件大小
print('文件名:', file_info_dict['filename'])
print('文件大小:', file_info_dict['filesize'])
# 接收文件内容
file_content = b''
while True:
data = client_socket.recv(1024)
if not data:
break
file_content += data
# 保存文件
with open(file_info_dict['filename'], 'wb') as f:
f.write(file_content)
# 关闭套接字
client_socket.close()
server_socket.close()
```
注意:此代码仅供参考,需要根据具体情况进行修改和完善。