- WebSocket
WebSocket是一个双向的SOCKS连接,允许服务器主动推送消息给客户端。
如Java自带的WebSocket API或者第三方库如Spring WebSocket。 - Long Polling
长轮询是一种比较简单的实现方式。客户端发起请求后,服务器会保持这个请求一段时间,直到有新数据返回或请求超时。
两种方式的比较:
-
WebSocket:
- 实现复杂一些
- 性能更好,能够即时推送消息
- 需要部署WebSocket服务器
-
Long Polling:
- 实现较为简单
-存在一定的延迟
-服务器负载高
- 实现较为简单
总的来说:
- 如果需要真正的实时通信,使用WebSocket实现
- 如果只需近实时,并且不追求最佳性能,Long Polling也可以满足