服务端
import socket
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_server_socket.bind(("127.0.0.1", 8080))
tcp_server_socket.listen(128)
client_socket, address = tcp_server_socket.accept()
recv_data = client_socket.recv(1024)
file_name = recv_data.decode("gbk")
try:
with open(file_name, 'rb') as f:
while True:
file_data = f.read(1024)
if file_data:
client_socket.send(file_data)
else:
break
except BaseException as error:
response_line = 'HTTP/1.1 404 NOT FOUND\r\n'
response_header = 'server:py1.0\r\n'
response_body = "NOT Found"
client_socket.send((response_line + response_header + response_body).encode("utf8"))
client_socket.close()
tcp_server_socket.close()
客户端
import socket
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_client_socket.connect(("127.0.0.1", 8080))
file_name = input("输入下载的文件名:\n")
tcp_client_socket.send(file_name.encode("gbk"))
with open("CG" + file_name, 'wb') as f:
while True:
file_data = tcp_client_socket.recv(1024)
if file_data:
f.write(file_data)
else:
break
tcp_client_socket.close()