PHP jQuery Chat - 用户正在输入功能

时间:2012-09-07 19:31:40

标签: php jquery mysql memcached chat

  

可能重复:
  How to make a real time “User is typing” notice to all in chat

我正在开发PHP MySQL jQuery / Ajax聊天,并试图用一些奇特的功能来加入它,例如用户输入...消息

我发现很多主题用户描述了如何通知服务器用户正在输入消息的请求,但这不是问题。我需要下一步的帮助:) 如何制作"移交"使用服务器从客户端到客户端的isTyping变量?我想尽量避免存储它,因为它可能会用不必要的数据压倒数据库引擎。有没有办法只使用服务器RAM?这些数据并不重要,因此丢失它的可能性并不大。 Memcached也是一种选择,但不是首选。

提前Tnx

1 个答案:

答案 0 :(得分:4)

在我看来,PHP / MySQL并不是开发聊天的正确堆栈。

那是因为这样的堆栈是无状态,并且无法跟踪用户事件:实际上它可以利用会话和数据库,但这意味着继续轮询客户端为了检索状态的变化,它意味着:

  • 我有新消息吗?
  • 嘿,我有新消息吗?
  • 要善待,告诉我是否有任何消息给我。

最好的方法是socket.io超过node.js:长话短说,你在客户端和服务器之间有一个持久的连接[使用WebSockets,长轮询和这样的技术],它变得很简单在应用程序的所有方面设置事件侦听器。

You can find a live example here