"socket.io/clientdist/socket.io.js": "https://cdn.socket.io/4.7.5/socket.io.esm.min.js"
} </script> <script type="module"> import { io } from "socket.io/clientdist/socket.io.js"; const socket = io(); </script>
客戶端與服務(wù)器的通信方式主要有以下幾種: 長輪詢:客戶端向服務(wù)器發(fā)送請求,如果服務(wù)器沒有數(shù)據(jù)響應(yīng),會保持連接直到有數(shù)據(jù)或者超時(shí)。 WebSocket:是一個(gè)持久連接的協(xié)議,客戶端和服務(wù)器可以雙向通信,實(shí)時(shí)性更強(qiáng)。 AJAX:異步JavaScript和XML,通過在后臺加載數(shù)據(jù),實(shí)現(xiàn)頁面的局部刷新,提高用戶體驗(yàn)。
Socket.IO 提供了事件觸發(fā)機(jī)制,客戶端可以通過監(jiān)聽服務(wù)端推送的事件來獲取服務(wù)端的IO信息,當(dāng)服務(wù)端有新的數(shù)據(jù)更新時(shí),可以主動推送給客戶端,客戶端通過監(jiān)聽相應(yīng)的事件來處理這些數(shù)據(jù)。