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

openConnections += connection

}

casecask.Ws.Close(_, _) => openConnections -= connection

}

}

}

该处理函数接收来自浏览器的msg,检查其内容是否应该立即响应,还是应该利用openConnections注册一个连接再稍后响应。

我们需要在postHello处理函数中做类似的修改:

messages = messages :+ (name -> msg)

+ val notification = cask.Ws.Text(

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

+ )

+ for(conn true, "txt"-> messageList.render)

这样,每当新的聊天消息提交时,就会将它发送给所有打开的连接,以通知它们。

推荐阅读