网络编程文件传输代码
时间: 2024-05-02 16:14:55 浏览: 18
网络编程文件传输是指通过网络将文件从一个计算机传输到另一个计算机的过程。下面是一个简单的Python代码示例,用于实现基于TCP协议的文件传输:
```python
# 服务器端代码
import socket
def file_transfer_server():
# 创建TCP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 8888))
server_socket.listen(1)
print("等待客户端连接...")
client_socket, client_address = server_socket.accept()
print("客户端已连接:", client_address)
# 接收文件名
file_name = client_socket.recv(1024).decode()
print("接收到文件名:", file_name)
# 打开文件并读取内容
try:
with open(file_name, 'rb') as file:
file_data = file.read()
client_socket.sendall(file_data)
print("文件传输完成!")
except FileNotFoundError:
print("文件不存在!")
# 关闭套接字
client_socket.close()
server_socket.close()
# 客户端代码
import socket
def file_transfer_client():
# 创建TCP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('localhost', 8888))
# 发送文件名
file_name = input("请输入要传输的文件名:")
client_socket.send(file_name.encode())
# 接收文件内容
file_data = client_socket.recv(1024)
# 保存文件
with open(file_name, 'wb') as file:
file.write(file_data)
print("文件保存成功!")
# 关闭套接字
client_socket.close()
# 运行服务器端
file_transfer_server()
# 运行客户端
file_transfer_client()
```
请注意,这只是一个简单的示例代码,实际应用中还需要考虑错误处理、断点续传等更复杂的情况。另外,该示例使用了TCP协议进行文件传输,你也可以使用其他协议或库来实现文件传输功能。