【发布时间】:2011-09-11 12:01:50
【问题描述】:
我想制作一个 IM,以便用户可以像聊天一样在同一页面上向彼此发送即时消息。用户可以选择谁可以看到他们的消息。它用于任务管理。我应该使用的最佳方法是什么。我正在使用 php。 php套接字对此有用吗?或轮询、彗星、php 输出缓冲区或 javascript 计时器(计时器简单但不快)。
【问题讨论】:
标签: php sockets chat comet polling
我想制作一个 IM,以便用户可以像聊天一样在同一页面上向彼此发送即时消息。用户可以选择谁可以看到他们的消息。它用于任务管理。我应该使用的最佳方法是什么。我正在使用 php。 php套接字对此有用吗?或轮询、彗星、php 输出缓冲区或 javascript 计时器(计时器简单但不快)。
【问题讨论】:
标签: php sockets chat comet polling
您可以从 PHP 中获得一些选择:
【讨论】:
我建议为此使用 Socket.IO。
【讨论】:
最常用的方法是COMET。
这是一个 PHP 实现:How to implement COMET with PHP
在 HTML5 规范中有许多浏览器已经实现的称为 websockets 的东西。这是一个支持 websockets 的 PHP 项目:phpwebsocket。如果浏览器不支持 websockets(因此向后兼容),有一些 javascript 库可以使用 flash 组件
imho webSockets 是要走的路,尽管 PHP 可能不是处理它们的最合适的后端。
【讨论】:
如果您知道如何使用Sockets,请使用它们;否则在计时器中使用 AJAX 就足够了,只要它不需要是实时的(获取消息之间的 5-10 秒延迟应该是可以的)。
【讨论】: