周末放假沒帶電腦所以今天分享質量不高,手機沒有那些樣式看起來可能沒有那么方便,今天主要分享一下websocket。
(趕緊拿小本本記下來)
websocket 你發現是一個組合單詞web socket,web我們都知道,所以我們先說下socket,什么是socket它在c#里面是什么?
他在c#里面用於網絡編程比如實時聊天,他的原理是什么呢?在我們沒有用這種技術的時候我們想要實現不停的問服務器要資源我們使用的是輪詢,什么是輪詢呢?
(腦闊痛)
輪詢 輪詢就是循環的訪問訪問服務器,就是寫一個循環發送我的請求,如果請求完成了,不管有沒有數據給我,我再次發送,發送完了我又發送,這種模式就是輪詢。
后面出現一種技術叫socket,但是在窗體程序很久很久以前就出來了,但是現在我們說的是web socket那么也是同樣的道理,我們以前通過ajax來使用輪詢進行訪問請求數據庫給我們數據,到現在使用web socket技術,我們只需要發送一次請求,告訴服務器"你好,我們這里一直要用數據,你有的話就給我們吧,沒有的話你有了再發給我吧"這就是websocket的請求方式。 以前的請求方式比如[輪詢]你不懂得話沒關系我給你打個比方
{
客戶端“你好,給我來魚丸粗面”
服務器“沒有魚丸”
客戶端“那給我來一碗魚丸湯”
服務器“沒有魚丸,魚丸還在買”
客戶端“那給我來一碗粗面”
服務器現在有粗面“你好,您的粗面”
客戶端“老板來點魚丸”
服務器“沒有,滾,下一位”
客戶端“來點魚丸”
服務器“沒有魚丸啊”
客戶端“來點魚丸”
服務器剛買到我魚丸“哪切嘛,吃嘛魚丸,脹死你”
客戶端“老板來點。。。”
服務器“。。。”
}這種方式就是輪詢,客戶端不停的發送請求給服務器,請求服務器響應。
輪詢 缺點:占用服務器資源如果人多服務器容易宕機。
socket:這種方式他就解決了這個問題,當服務器有數據直接推給客戶端,這種場景就是qq或者是通知,有消息直接推送,不再讓客戶端一直請求,但是需要客戶端發起請求命令才行。
(當時我大概寫了這么多👌) 好的,今天的分享就到這里,祝你周末愉快,用你的小手點個贊 回復吧😽
(純手打,就很煩)