用Scala实现简单的Web和API服务器(28)

最后,我们需要在浏览器的标签中添加一点Java代码,来打开Websocket连接,并处理消息的交换:

varsocket = newWebSocket("ws://"+ location.host + "/subscribe");

vareventIndex = 0

socket.onopen = function(ev){ socket.send(""+ eventIndex) }

socket.onmessage = function(ev){

varjson = JSON.parse(ev.data)

eventIndex = json.index

socket.send(""+ eventIndex)

messageList.innerHTML = json.txt

}

这里,我们首先打开一个连接,发送第一条"0"消息来启动整个流程,然后每次收到更新后,就将json.txt渲染到messageList中,然后将json.index发送回服务器,来订阅下一次更新。

现在,同时打开两个浏览器,就会看到一个窗口中发送的聊天消息立即出现在另一个窗口中:

推荐阅读