我创建了一个即时消息聊天应用程序,通过php服务将消息发布到我的服务器并存储在支持的mysql中。
如果用户有他们的收件箱'打开页面并收到新消息我需要更新表格以显示任何新消息。我现在这样做的方法是每隔5秒向服务器发送一个http请求。
你可以想象这是非常低效的。有哪些方法更合适,资源更少?
我已经看过保持连接和网络插座,但我不知道我应该去哪个方向?
任何帮助非常感谢!
答案 0 :(得分:0)
您的方法称为轮询,这种方法效率不高,因为它会从您的手机消耗更多电力,并且您的服务器会有额外的负载。正确的做法是通过Apple的推送通知。这是tutorial。基本上,当收到新消息时,您的服务器会向Apple的推送通知中心发送请求。
但是在你的情况下,它有点复杂。只有在用户进入邮件页面后才需要此通知。所以你需要调整你的php服务器才能在用户进入邮件页面后发送通知。在这种情况下,您只向服务器发送一个请求,告诉它开始发送通知,而不是经常轮询您的服务器