我已经花了很多时间,但找不到任何好的 commet 示例。我和我的朋友正在用PHP开发一个小型聊天软件,我急需commet的东西,如果有人能用简单的话解释一下。我会很感激。谢谢
问问题
508 次
2 回答
1
有几种方法可以实现:
- 重复轮询
- 服务器推送
- 长轮询
如果repeated polling
您的客户端在一定间隔后不断轮询服务器以检查是否有新消息。
如果server push
您的客户端通过套接字或类似的方式维护并主动连接到服务器,然后服务器通过推送通知客户端
如果long polling
客户端发出请求,服务器不会立即响应,而是等待直到有消息要发送。因此,要么在一段时间后客户端收到消息,要么客户端超时并开始一个新请求。
于 2012-11-21T04:53:06.073 回答
0
Commet 只是长轮询的另一种方式。本质上,您使用 jquery 之类的东西来调用服务器。服务器保持该调用打开,直到它:
- 有数据要返回或
- 指定的时间已经过去
当服务器返回时,您的 jquery 对可能已返回的任何数据执行某些操作,然后启动对服务器的另一个调用。
javascript函数的一个例子如下:
function commetpoll() {
$.get("/myserversidescript.php", {}, function(data) {
//Do something with data
commetpoll();
}));
};
于 2012-11-21T04:56:11.337 回答