亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python的socket編程入門

系統 1519 0

Flask或者其他框架都是封裝的比較完善,我們可以不去關注路由、SESSION等到底是怎么實現的,現在我們使用socket來實現一個帶有注冊、登錄功能的To do網站,這樣能對后端框架了解的稍微更深入一點(當然你也可以直接去看Flask源碼)。

主程序runserver.py代碼如下:

            
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket
from exts import Request
from route import response_for_request
from datetime import datetime
def run_server(host='', port=1207):
  # 建立一個socket.socket()類s
  with socket.socket() as s:
    # 設置s在服務端關閉后馬上釋放端口,避免Address already in use錯誤
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    # 綁定host和port
    s.bind((host, port))
    while 1:
      # 開始監聽傳入連接,可以掛起的最大連接數為5
      s.listen(5)
      # 接受連接,根據buffer_size不斷讀取內容
      connection, address = s.accept()
      r = ''
      buffer_size = 1024
      while 1:
        data = connection.recv(1024).decode('utf-8')
        r += data
        if len(data) < buffer_size:
          break
      # 防止瀏覽器傳空請求過來
      if len(r.split()) < 2:
        continue
      # 最后取得的r是一個http請求頭字符串,對其解析,然后使用sendall返回相應的內容 
      request = Request(r)
      # 每次請求時打印時間,請求的方法和路徑
      print(str(datetime.now())[:19], request.method, request.path)
      response = response_for_request(request)
      connection.sendall(response)
      connection.close()
if __name__ == '__main__':
  run_server()
          

run_server函數代碼的簡單說明可以看注釋;from exts import Request:從exts導入一個Request類,這個Request類是自己編寫的,用于解析http請求頭,這部分是很簡單的,在網上搜索http請求相關內容,就可以自行寫一個,包括返回請求頭的路徑、方法、各個字段以及body部分等,都是字符串相關的操作。

from route import response_for_request:從route.py導入相應函數,即傳入一個上一步中的Request類,返回對應的網頁內容,具體實現將在后續講解。

可以說,主程序就已經編寫好了,整個邏輯也很簡單,使用socket監聽連接,解析請求,返回請求對應的內容。后續只要去處理解析請求和響應部分即可,主程序可以不用再修改。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲高清在线观看视频 | 国产一级免费视频 | 亚洲成人中文 | 99国内精品 | 青青青免费手机版视频在线观看 | 欧美一及| 一级特黄性色生活片 | 四虎网址换成什么了2021 | 色琪琪永久远网址 | 99精品视频免费 | 6080亚洲精品一区 | 成人在线视频一区 | 欧美成人一级 | 四虎4444hu4影视最新地址 | 欧美日韩你懂的 | 成年黄网站免费大全毛片 | 成人亚洲精品7777 | 欧美午夜艳片欧美精品 | 一级女性全黄生活片看看 | 亚洲系列中文字幕一区二区 | 午夜剧j | 日本九九视频 | 中文日韩| 精品91精品91精品国产片 | 在线视频不卡国产在线视频不卡 | 色综合久久久久久久久五月性色 | 色妞www精品视频 | 国产精品久久一区二区三区 | 久久精品6| 四虎永久免费网站入口2020 | 偷亚洲偷国产欧美高清 | 午夜剧j| 成人免费一级毛片在线播放视频 | 国产精品在线 | 美女超爽久久久久网站 | 亚洲精品爱爱久久 | 二级毛片 | 国产成 人 综合 亚洲网 | 看片福利 | 亚洲精品久久久中文字 | 四虎国产精品永久在线看 |