我正在考虑为iphone应用添加消息功能。想法是,给定基于用户的IOS应用程序,用户可能具有其他用户的列表。然后他可能想要发送一条消息。一个直接的网络呼叫可以实现这一点,但它错过了几个部分:
1)登录用户“监听”传入消息的能力,而不必每隔几秒轮询一次服务器。 IOS是否支持以某种方式监听打开的套接字连接?
2)服务器检测用户存在的能力(当他们登录,活动和收听时;以及他们连接/断开时立即)
3)如果可能的话,检测打字的能力
我听说这可以在带有socket.io libs的javascript应用程序中实现,并想知道IOS本身存在哪些等效工具?或者是否应该尝试使用JS的webview?
修改
推送通知可能会被用于离线使用,但我不确定它们是否可以替代所有实时交互。
EDIT2:
为IOS找到了这个SocketIO工具,但没有这方面的经验。但这是一种可能性。 https://github.com/pkyeck/socket.IO-objc
答案 0 :(得分:1)
对于第一,你应该看看这个教程: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 它使用推送来检测传入的消息。
其他两个部分可能是计时,只是说用户自上次活动以来有效2分钟。每次他们在应用程序中使用某些内容或轮询服务器时,您都会更新时间并将其激活另外两分钟左右。
如果在文本字段中输入了某些内容,您就可以检测到输入。 UITextField
有一个onChanged方法。您还可以启动计时器以检测一定时间之间的变化。因此,如果有人刚刚填写了他们的文本字段但没有发送消息,则不会说打字。
希望这有帮助。