標題瀏覽器和服務器進行連接的兩種方式 1 ajax 輪詢 2 websocket

1 ajax 輪詢 介紹,輪詢是在特定的的時間間隔(如每1秒),由瀏覽器對服務器發出HTTP請求,然後由服務器返回最新的數據給客戶端的瀏覽器。這種傳統的模式帶來很明顯的缺點,即瀏覽器需要不斷的向服務器發出請求,然而HTTP請求可能包含較長的頭部,其中真正有效的數據可能只是很小的一部分,顯然這樣會浪費很多的帶寬等資源
2 websocket 瀏覽器和服務器只需要做一個握手的動作,然後,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。因此
websocket 更簡單
流程:
瀏覽器通過 JavaScript 向服務器發出建立 WebSocket 連接的請求,連接建立以後,客戶端和服務器端就可以通過 TCP 連接直接交換數據。
當你獲取 Web Socket 連接後,你可以通過 send() 方法來向服務器發送數據,並通過 onmessage 事件來接收服務器返回的數據。
https://www.runoob.com/html/html5-websocket.html
使用方法:
瀏覽器通過js 向服務器發出websocket 請求,握手一次建立tcp 鏈接,前端通過send() 方法向服務器發送數據,並通過onmessage 事件接受服務器傳過來的數據
流程
創建對象 url 是服務器的url
建立 tcp 鏈接,1 客戶端,進行http請求,和普通的http 請求有所不同,websocket 的請求,頭部帶有一些信息,服務器解析頭部的信息,並給客戶端一些應答,tcp 鏈接就成功了
執行程序前,服務器,需要創建websocket 的服務,需要先開啓一個websocket 服務,
安裝命令:
python setup.py build
$ sudo python setup.py install
開啓服務
在 pywebsocket/mod_pywebsocket 目錄下執行以下命令:
$ sudo python standalone.py -p 9998 -w …/example/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章