简单的iPhone聊天应用程序
问题描述:
我使用钛来开发iPhone应用程序,其中有iPhone用户之间有一个小聊天组件(不是短信,但实际的客户端 - 服务器聊天)简单的iPhone聊天应用程序
这是我的方法:我的背end将在ASP.NET中,每当用户发送消息时,它将存储[message_id,from_id,to_id,message_content],然后接收者将有一个定时器,每5秒刷新一次以从ASP中接收新消息.NET服务器数据库。
但这引起了关注。如果我每5秒钟刷新一次,它会不断地流出并耗尽接收器的带宽。有新消息时,有更好的方法来实现监听器/接收器吗?
我听说过套接字编程,但这是一种很好的方法,我该如何开始使用它?
谢谢
答
为什么不使用苹果的推送通知系统? 每当用户收到消息时,您的后端都可以向iphone发送推送通知,并且iphone在接收到推送时会下载新消息,或者消息不会太长,您只需在推送通知中直接发送消息
答
建议仅在应用程序在后台运行时使用推送通知,而不是在用户实际聊天时使用推送通知。这就是推送通知首先被设计的。
通过http轮询服务器是一个很好的解决方案,并且有一些技巧可以保存您可以使用的带宽,例如根据用户活动更新轮询的频率(几分钟后无聊,将轮询时间减少到30秒)。
您无法为聊天应用程序使用推送通知,因为您无法每分钟获得如此多的通知以使聊天显示为实时。对服务器的简单HTTP轮询可以像一个二进制包一样小,并且不会显着影响用户的带宽。
你们知道游戏“Words With Friends?”。 我不知道他们是如何实现他们的聊天服务。看起来他们也使用轮询方法。虽然我不确定。 – Ethan 2011-06-13 21:17:34