Play Framework 2.8.2 学习系列三------ WebSockets

  Play的WebSockets不是一个长连接机制,当服务端超过一定时间收不到某一个客户端的任何数据的时候,服务端会关闭此连接,因此需要客户端周期性发送心跳信息至服务端。心跳周期在75秒左右。

  按照官网说明创建WebSocket的Action

  public WebSocket socket() {

    return WebSocket.Text.accept(
      request -> ActorFlow.actorRef(MyWebSocketActor::props, actorSystem, materializer));
  }

在服务端针对不同的连接进行区分,可以达到针对不同的连接回复不同的数据。因为每个Action都是一个无状态的,所以不同的连接存储需要放入静态变量中。当某一条链路关闭后及时清除此静态变量。

  Play的WebSocket还是很好用的

原文地址:https://www.cnblogs.com/ershoushouji/p/13354017.html