使用UDP和TCP进行文件传输的代码示例如下:\n\n1. 使用UDP进行文件传输:\n\n发送端代码:\npython\nimport socket\n\ndef send_file(file_name, server_ip, server_port):\n udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n file = open(file_name, "rb")\n data = file.read()\n udp_socket.sendto(data, (server_ip, server_port))\n udp_socket.close()\n file.close()\n\n# 调用示例\nsend_file("file.txt", "127.0.0.1", 1234)\n\n\n接收端代码:\npython\nimport socket\n\ndef receive_file(file_name, server_ip, server_port):\n udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n udp_socket.bind((server_ip, server_port))\n data, addr = udp_socket.recvfrom(1024)\n file = open(file_name, "wb")\n file.write(data)\n udp_socket.close()\n file.close()\n\n# 调用示例\nreceive_file("received_file.txt", "127.0.0.1", 1234)\n\n\n2. 使用TCP进行文件传输:\n\n发送端代码:\npython\nimport socket\n\ndef send_file(file_name, server_ip, server_port):\n tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n tcp_socket.connect((server_ip, server_port))\n file = open(file_name, "rb")\n data = file.read()\n tcp_socket.send(data)\n tcp_socket.close()\n file.close()\n\n# 调用示例\nsend_file("file.txt", "127.0.0.1", 1234)\n\n\n接收端代码:\npython\nimport socket\n\ndef receive_file(file_name, server_ip, server_port):\n tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n tcp_socket.bind((server_ip, server_port))\n tcp_socket.listen(1)\n conn, addr = tcp_socket.accept()\n file = open(file_name, "wb")\n data = conn.recv(1024)\n while data:\n file.write(data)\n data = conn.recv(1024)\n conn.close()\n tcp_socket.close()\n file.close()\n\n# 调用示例\nreceive_file("received_file.txt", "127.0.0.1", 1234)\n\n\n以上代码示例分别使用UDP和TCP实现了文件的发送和接收。需要注意的是,UDP是面向无连接的协议,没有可靠性保证,因此在实际使用时可能需要对数据进行分片和重传等处理。而TCP是面向连接的协议,会自动处理数据的可靠传输,但会引入一定的传输延迟。具体使用哪种协议取决于应用的要求和网络环境。

Python UDP 和 TCP 文件传输示例 - 代码解析

原文地址: https://www.cveoy.top/t/topic/qfQW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录