开发消息服务器的最佳结构

Best structure for developing a messaging server

我正在开发一款可以向其他用户发送消息的应用程序。我以前做过,但我认为我可以改进 sending/receiving 数据的方法。在我所做的之前,我有一个包含所有消息的 table,并且与对话 ID 关联的消息将显示在单个对话中。在客户端,我有一个计时器,它会不断地向服务器请求更新。

我想我的问题是:有没有比不断询问我的服务器是否有更新更好的方法?我的意思是..一种更轻松的方式。我正在考虑使用推送通知,但如果用户禁用 APNS,他们的消息将不会更新。

http://reactphp.org/

对于基于事件驱动套接字的通信很有用。它将涉及将连接的客户端存储在某种数据结构 (see here) 中,并在发生事件时,例如数据更改,以推送的方式通知应该知道该事件的连接客户端。

http://socketo.me/ 建立在 react

之上

http://socketo.me/docs/flow

有一个关于基于套接字的连接如何工作的很好的图表。根据您的用例,这可能比从所有连接的客户端重复轮询更好。