在标准的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调用,每隔几分钟触发一次,在您的服务器上打另一个页面,并相应地返回票数和更新。它不会是瞬间的,但如果你不需要一秒一秒的解决方案,它可能就足够了。您可以根据需要调整时间长度或缩短时间(某种程度上,使用常量请求轰击服务器会使您的速度变慢)。