Flask第二天-偏函式、LocalStack、請求上下文、websocket簡介以及實現單聊和群聊功能
阿新 • • 發佈:2019-01-06
1.偏函式
from functools import partial
def func(num: int, anda, andb=1):
return num ** 2 + anda + andb
new_func = partial(func, 10)
print(new_func(1,10))
one
使用者名稱 = jinwangba
密碼 = yinwangba
request = from{username:jinwangba}
time.sleep(15) -- 5
request = from{username:jinwangba1}
if req.jinwangba req.yinwangba
jinwangba1
two
使用者名稱 = jinwangba1
密碼 = yinwangba1
request = from{username:jinwangba1}
time.sleep(15) -- 10
HTTP 1.1 / GET\r\nasdfasdfasdf\r\n\r\nreqbody
2.websocket
socket HTTP
1.輪詢:
客戶端向服務端發起一個請求
服務端沒訊息
客戶端向服務端發起一個請求
服務端沒訊息
客戶端向服務端發起一個請求
服務端終於有訊息了,我都快累死了
客戶端你以為我不累啊
優點:資料的實時性
缺點:前後端資源浪費嚴重,頻寬網路資源 6kb/s 10bytes
2.長輪詢:
loop 1:
客戶端向服務端發起一個請求
服務端沒訊息儲存你的連線不斷開,並不返回等待訊息,等有訊息給你返回
客戶端等待…
伺服器說我累了,我不想給你看著了,主動關閉連線
客戶端說怎麼可以給我斷掉,於是再次發起請求
goto 1
優點:釋放前端資源,資源回收,節省頻寬
缺點:不能嚴謹的保證資料實時性,伺服器資源佔用比較嚴重
以上兩種方式的不足:服務端無法主動向客戶端發起訊息
3.websocket:
即時通訊的福音:
客戶端向服務端發起握手資訊
服務端校驗客戶端屬性並建立websocket
客戶端和服務端建立通訊連線
客戶端發發發發發發
服務端收收收收
服務端發發發發發發
等待:
當前建立的websocket連線 實際上是被監聽的
客戶端監聽
服務端監聽
客戶端 瀏覽器
伺服器 websocket
基於Flask實現websocket