一.下载文件
tcp 客户端
1.创建套接字
down_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2.获取ip,port
down_ip = input("请输入ip:")
down_port = int(input("请输入port:"))
3.链接服务器
down_socket.connect((down_ip,down_port))
4.获取下载文件的名字
down_name = input("请输入下载文件名:")
5.将文件名发给服务器
down_socket.send(down_name.encode("utf-8"))
6.接受文件中的数据
accept = down_socket.recv(1024)
print(accept)
7.判断文件是否有内容
if accept:
with open("新"+down_name, "wb") as f:
f.write(accept)
8.关闭套接字
down_socket.close()
tcp服务端
1.创建套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK.STREAM)
2.绑定本地的信息
server_socket.bind(("", 8088))
3.等待(有主动变为被动listen)
server_socket.listen(128)
4.等待服务端链接
new_server_socket, server_addr = server_socket.accept()
print(str(server_saddr))
5.等待服务端的请求,为客户段服务
1.获取下载文件名
down_name = new_server_socket.recv(1024).decode("utf-8")
print("你要下载的文件是%s" % down_name)
2.打开文件
file_name = None
try:
f = open(down_name,"rb")
file_name = f.read()
f.close
except Exception as ret:
print("没有要下载的文件%s" % down_name)
3.判断是否为空文件
if down_name:
new_server_socket.send(file_name)
6.关闭套接字
new_server_socket.close()
server_socket.close()
有需要的话可以关注我的微信公众号,会第一时间接收最新的知识。