我用PHP和MySQL编程了一个聊天客户端。目前的模式如下:
sendMessage.php
将消息插入到正确的chatRoom中
loadMessages.php
已经下载的消息被缓存,因此它只下载上一次下载消息ID后的新消息。
(例如,如果chatMsg1已经下载,但是有chatMsg2,那么loadMessages.php只返回chatMsg2)
一切正常,但我有点沮丧.我把它用于一个iOS应用程序,它每秒钟调用一次loadMessages.php。
即使没有新消息,php文件也执行2次查询:
但是,每秒钟有2次查询。
,有什么办法可以防止这种情况吗?
例如,如果用户1处于活动状态,而用户2向他发送消息,则
..?
是否有可能仅用PHP或某种框架来实现这一点?还是我被迫使用谷歌的防火墙(?)还有像这样的东西
发布于 2018-03-10 10:34:16
对于这类应用程序,您需要能够通过websockets提供内容。换句话说,您需要创建像http://socketo.me/这样的php websocket服务器,其中内容是实时交付的。
发布于 2018-03-10 10:34:52
在sendMessage.php中使用推送通知还可以将数据保存到db。IOS应用程序在推送到达时调用loadMessages.php,因此如果下一天没有新消息,就不会调用,当应用程序得到推送通知时,它将调用loadMessages.php。此外,您可以包括发件人的名字,配置文件,图片或消息在推送。您可以使用防火墙或苹果推送服务器。
https://stackoverflow.com/questions/49207885
复制相似问题