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

varopenConnections = Set.empty[cask.WsChannelActor]

该集合包含当前等待更新的浏览器的列表。每当新消息出现时,我们就会向这个列表进行广播。

接下来,定义@cask.websocket处理函数,接收进入的websocket连接并处理:

@cask.websocket("/subscribe")

def subscribe = {

cask.WsHandler { connection =>

cask.WsActor {

casecask.Ws.Text(msg) =>

if(msg.toInt < messages.length){

connection.send(

cask.Ws.Text(

ujson.Obj("index"-> messages.length, "txt"-> messageList.render).render

)

)

}else{

推荐阅读