我想开发一个移动应用,注册用户可以在其他注册用户中进行搜索。用户A可以与用户B聊天。用户A可以查看用户B的个人资料。在此之后,必须通知用户B用户A正在观看他。 所以它是某种聊天室,当用户观看/联系其他用户时,服务器应该能够得到通知,让后者知道这一点。 我的第一个想法是使用node.js.但我开始在XMPP协议上阅读很多内容。你认为XMPP服务器对这种应用程序更适合吗?我所说的你可以自定义你的xmpp-server,编写插件让它可以按照你想要的方式运行。这是对的吗?
答案 0 :(得分:1)
这是使用NodeJS的套接字IO的完美用例。事实上,我已经用不到50行代码完全实现了你用iOS客户端和节点后端描述的内容。请参阅https://github.com/MegaBits/SIOSocket了解iOS库,http://socket.io/了解SocketIO。
XMPP更加繁重和冗长,当您只能以JSON进行通信时,您将花费大量时间来解析/构建XML。看看我的回购:
https://github.com/alhill10/chatapp3/blob/master/View%20Control%20App/ChatView.m#L34
您可以在viewDidLoad
方法上看到它只是打开一个websocket连接并侦听来自服务器的事件,然后将用作聊天窗口的tableview实时更新为任何新的传入消息。
然后,在这里查看https://github.com/alhill10/simplechat/blob/master/app.js,了解接收和转发消息的Socket IO后端的简单示例,以及维护当前用户的在线状态。您可以简单地添加用户身份验证和。