我正在构建聊天应用程序。因为它是一个聊天应用程序,所以消息必须非常快。 Web 服务准备就绪,Web 服务发送消息通知,我必须对应用程序采取相应的行动。 API 发送通知 & android 版本使用 GCM 来实现相同的目的。 Socket IO用于开发服务器端。
我担心的是:- 我可以使用 APNS 来获取通知。但是对于此类应用程序,APNS 的使用是否可靠。
在我读过的许多网站上 - APNS 仅用于发送通知而不是直接消息传递以及它的许多其他因素。在许多网站/评论中,我还读到 If 快速可靠,开发人员已在他们的消息系统中成功使用它。
你能帮我了解一下事实吗 - 它适合聊天应用程序吗?还有什么其他替代或更好的解决方案。当更多人聊天时,这会影响 APNS 左右吗..
新的 API 将根据我的需求进行设计 - 所以我不会拘泥于使用单一模式。
需要您的指导来决定选择要使用的正确技术。非常感谢任何帮助。
谢谢
最佳答案
APN 并不像文档所说的那样可靠。 我可以建议使用套接字连接进行聊天。我已经在我的上一个应用程序中实现了它,并且效果很好。 我已将 CFNetwork API 用于持久连接:
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)kServerIP, kServerPort, &readStream, &writeStream);
self.inputStream = (__bridge NSInputStream *)readStream;
self.outputStream = (__bridge NSOutputStream *)writeStream;
//Add streams to run loop
[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.inputStream open];
[self.outputStream open];
//Then handle NSStream delegates for in/out messages
...您还可以在锁定屏幕时使用 APNs 通知用户。
关于iOS 聊天消息应用程序 - 发送/接收消息和通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299908/