在標準的Web交互中,客戶端(即您的Web瀏覽器)向您的服務器發送請求。您的服務器收到請求,然後發送回您的瀏覽器中顯示的信息,然後終止連接。
WebSockets是一種在客戶端和服務器之間創建持久,雙向連接的方式,但它需要兩者的協作。許多共享服務器不允許WebSocket,因此您首先必須確保您的服務器能夠提供WebSockets。 (我從你的截圖看到你在Heroku上運行,運行WebSocket應該沒有問題。)
在服務器端,你需要設置處理傳入的WebSocket請求。我不知道你用什麼語言編寫了你的服務器,所以我不能提供任何指導,但是有很多庫在大多數語言的WebSockets的服務器端部分。
在客戶端,您需要設置您的WebSocket客戶端。 MDN在WebSocket上有a great guide,它解釋了你需要做的事情。基本上,你所要做的就是收聽傳入的消息並增加計數器。
var count = 0;
var exampleSocket = new WebSocket("ws://example.com/socket");
exampleSocket.onmessage = function(event) {
count++;
document.getElementById('myTicketCounter').innerHTML = count;
}
對於某些事情,WebSockets是矯枉過正的。如果您發現這項工作太多,回報太少,您也可以設置一個AJAX調用,每隔幾分鐘觸發一次,在您的服務器上打另一個頁面,並相應地返回票數和更新。它不會是瞬間的,但如果你不需要一秒一秒的解決方案,它可能就足夠了。您可以根據需要調整時間長度或縮短時間(某種程度上,使用常量請求轟擊服務器會使您的速度變慢)。
嗨!非常感謝你的流氓。我正在使用Java和Spring Boot來構建我的應用程序。 –
https://spring.io/guides/gs/messaging-stomp-websocket/ –