【808、多人聊天室这种实时通信如何实现?】

61 阅读1分钟
  1. WebSocket
    WebSocket是一个双向的SOCKS连接,允许服务器主动推送消息给客户端。
    如Java自带的WebSocket API或者第三方库如Spring WebSocket。
  2. Long Polling
    长轮询是一种比较简单的实现方式。客户端发起请求后,服务器会保持这个请求一段时间,直到有新数据返回或请求超时。

两种方式的比较:

  • WebSocket:

    • 实现复杂一些
    • 性能更好,能够即时推送消息
    • 需要部署WebSocket服务器
  • Long Polling:

    • 实现较为简单
      -存在一定的延迟
      -服务器负载高

总的来说:

  • 如果需要真正的实时通信,使用WebSocket实现
  • 如果只需近实时,并且不追求最佳性能,Long Polling也可以满足