1. 程式人生 > >Flask第二天-偏函式、LocalStack、請求上下文、websocket簡介以及實現單聊和群聊功能

Flask第二天-偏函式、LocalStack、請求上下文、websocket簡介以及實現單聊和群聊功能

    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