中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python使用socket_TCP實現小文件下載功能

發布時間:2020-10-17 03:18:16 來源:腳本之家 閱讀:151 作者:大大打打 欄目:開發技術

服務器

import socket
 
# 1.創建套接字
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.綁定端口
server.bind(('127.0.0.1', 7890))
# 3.變為被動監聽模式
server.listen(4)
while True:
  # 4.等待客戶端鏈接
  s_new, addr = server.accept()
  print('用戶【{}】已經成功連接!!'.format(addr[0]))
  while True:
    # 5.接受消息
    try:
      # 若客戶端強行斷開連接服務器不會崩潰
      recv_data = s_new.recv(1024).decode('utf-8')
      if recv_data:
        print('來自【{}】的用戶表示要下載: 【{}】'.format(addr[0], recv_data))
        # 6.發送消息
        try:
          f = open(recv_data, 'rb')
          content = f.read()
          send_data = s_new.send(content)
          f.close()
          print('下載成功!')
        except Exception as result:
          send_data = s_new.send('Non'.encode('utf-8'))
          print('未找到要下載的文件')
      else:
        print('用戶已經正常退出!')
        break
    except Exception as res:
      print('用戶已經退出連接!')
      break
  s_new.close()
# 7,關閉套接字
server.close()

客戶端

import socket
# 創建套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 綁定IP地址
s.connect(('127.0.0.1', 7890))
while True:
 
  # 發送數據
  send_data = str(input('請輸入想要下載的文件名:'))
  if send_data == 'exit':
    print('已退出下載!')
    break
  s.send(send_data.encode('utf-8'))
 
  # 接收數據
  recv_data = s.recv(2048)
  if recv_data == 'Non'.encode('utf-8'):
    print('未找到要下載的文件!')
  else:
    with open('【new】' + send_data, 'wb') as f:
      f.write(recv_data)
      print('[{}]下載成功!'.format(send_data))
      f.close()
 
# 關閉套接字
s.close()

運行結果(服務器):

Python使用socket_TCP實現小文件下載功能

運行結果(客戶端):

Python使用socket_TCP實現小文件下載功能

文件結果;

Python使用socket_TCP實現小文件下載功能

到此這篇關于Python使用socket_TCP實現小文件下載功能的文章就介紹到這了,更多相關Python小文件下載內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海淀区| 高雄市| 南木林县| 祁阳县| 日喀则市| 汶川县| 德格县| 麻城市| 新巴尔虎右旗| 西藏| 广平县| 拉孜县| 德州市| 临洮县| 大悟县| 什邡市| 遵化市| 通化市| 漯河市| 林芝县| 日土县| 乌恰县| 阿克苏市| 九龙城区| 石河子市| 杂多县| 库尔勒市| 高雄市| 金乡县| 垦利县| 阿巴嘎旗| 康乐县| 清新县| 东山县| 古交市| 彰化市| 广饶县| 台东市| 东台市| 安仁县| 宁晋县|