轮询:普通Ajax向服务定时发送请求。一般使用JavaScript的setInterval实现。这种方法实现实时性不高,服务器压力大。
长轮询:如comet长轮询。客户端向服务器发送Ajax请求,连接上服务器后,客户端与会服务器一直保持连接。当服务器有更新消息时会立刻发送到客户端,而连接断开。直到客户端处理完后,又会向服务器从新发送Ajax请求。(如果服务器长时间没有返回消息,会造成连接超时,客户端也会向服务器从新发送新的Ajax请求)。这种方法实时性比较高,延迟小。
长连接:如comet的长连接。客户端向服务器发送Ajax请求,连接上服务器后,客户端与服务器会一直保持连接。当服务器有更新消息时会立刻发送到客户端,而连不断开。(如果服务器长时间没有返回消息,会造成连接超时,客户端也会向服务器从新发送新的Ajax请求)。这种方法实时性也比较高。