Python插座实现的文件下载器功能示例

  

本文实例讲述了Python插座实现的文件下载器功能。分享给大家供大家参考,具体如下:

  

  

先写客户端再写服务端

  

<强> 1. tcp下载器客户端

        进口套接字   def main ():   #创建套接字   tcp_socket=socket.socket (socket.AF_INET socket.SOCK_STREAM)   #获取服务器ip和端口   dest_ip=输入(“请输入下载服务器的ip:”)   dest_port=int(输入(“请输入下载服务器的端口:"))   #连接服务器   tcp_socket.connect ((dest_ip dest_port))   #获取下载的文件名称   download_file_name=输入(“请输入要下载的文件名称:")   #将文件名称发送到服务器   tcp_socket.send (download_file_name.encode (“gbk”))   #接收文件中的数据   recv_data=tcp_socket.recv (1024) # 1024=1 k 1024 * 1024=1 m   如果recv_data:   #保存接收到的数据到新文件   张开(“[新]”+ download_file_name.wb) f:   f.write (recv_data)   #关闭套接字   tcp_socket.close ()   if __name__==癬_main__”:   main ()      之前      

<强> 2. tcp下载器服务端

        进口套接字   def send_file_2_client (new_client_socket client_addr):   # 1。接收客户端需要下载的文件名   file_name=new_client_socket.recv (1024) .decode (“gbk”)   打印(“客户端(% s)需要下载的文件是:% s“% (str (client_addr), file_name))   file_content=没有   # 2。打开这个文件,读取数据   试一试:   f=开放(file_name rb)   file_content=f.read ()   f.close ()   除了例外ret:   打印(“没有要下载的文件(% s)”% file_name)   # 3。发送文件数据给客户端   如果file_content:   new_client_socket.send (file_content)   def main ():   #创建套接字   tcp_server_socket=socket.socket (socket.AF_INET socket.SOCK_STREAM)   #绑定本地信息   tcp_server_socket.bind (" ", 7890)   #让默认套接字由主动变为被动听   tcp_server_socket.listen (128)   而真正的:   #等待客户端的连接接受   new_client_socket client_addr=tcp_server_socket.accept ()   #调用发送文件函数,完成客户端的服务   send_file_2_client (new_client_socket client_addr)   #关闭套接字   new_client_socket.close ()   tcp_server_socket.close ()   if __name__==癬_main__”:   main ()      之前      

更多关于Python相关内容可查看本站专题:《Python套接字编程技巧总结》,《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

  

希望本文所述对大家Python程序设计有所帮助。

Python插座实现的文件下载器功能示例