2013-05-29 30 views
2

我是一名php开发人员。我有一个数据库表(mysql),用户名和他们的在线状态(1或0)正在存储。现在我必须将在线用户列表发送给ios,以便ios可以随时获得更新记录。发送更新列表在线和离线聊天用户从PHP到ios

如果ios在每秒钟之后向服务器发送请求,那么很显然,在ios端可见的数据将被更新。 但是,我不想要这个选项。 如果服务器端发生任何更改,则只有ios可以向服务器发送请求,服务器会响应ios。这是我的计划。为此,我认为APNS会更好。但是当我了解到它对于显示在线聊天用户来说效率并不高时,我认为应该有另一种方法或机制,以便不使用APNS,我可以解决我的问题。

请建议我哪个更好。提前致谢。

回答

0

您可能需要网络套接字通信。试试PHPWebSocket

+0

感谢您的更新,但请你解释一下如何连接到对方或者你可以请提供我从哪里可以得到有关的一些想法的任何链接这个。其实我对socket程序并不灵活。 – Mausumi

0

你有像phpWebSocke这样的选项,你的客户端必须在其中ping或发送套接字请求到服务器。与您在问题中描述的方法相同。

尽管APNS并非100%保证您的客户端设备能够收到您的信息。

我强烈建议你去开源的jabber服务器和客户端API(XMPP)。 OpenFire和'Smack'&'smackx'API将代表您处理所有事情。和它的开源。所以不需要担心许可证,也不需要重新发明轮子。

这里是链接。

http://www.igniterealtime.org/index.jsp

http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/

https://groups.google.com/forum/?fromgroups#!topic/xmppframework/ctp5uTUau3M

+0

感谢您的建议。坚果我认为,jabber服务器限制为MobileMe,Mac.com,AIM,Google Talk和jabber账户。 其实我已经有一个数据库表,其中用户的会话ID和设备ID正在捕获和存储到表中。为此OpenTok正在使用。 因此,在这种情况下,请让我知道jabber服务器是否会工作? – Mausumi

+0

奥基,现在我没有明白你的观点。请参阅:您必须安装“openfire”服务器(XMPP服务器),对其进行配置。那么所有你需要的是为iOS下载API(XMPP客户端)Jabber,smackx,smack。在这个API中你可以发送添加好友请求,你可以显示待处理请求列表。或即将发送的聊天。显示在线用户。设置状态......一切。 API也可用于IOS,Android,Blackbaryy,桌面客户端,Windows Phone。 – av1987

+0

但我的应用程序中没有可用的电子邮件地址,只有sessionID和deviceID以及enablestatus在那里。那么我也可以使用它吗? – Mausumi