【问题标题】:Which technique is best suited for chat-like app哪种技术最适合类似聊天的应用程序
【发布时间】:2014-12-16 15:43:42
【问题描述】:

我想开发一个移动应用程序,注册用户可以在其中搜索其他注册用户。用户 A 可以与用户 B 聊天。用户 A 可以查看用户 B 的个人资料。在此之后,必须通知用户 B 用户 A 正在观看他。 所以它是某种聊天室,当用户观看/联系另一个用户时,服务器应该能够得到通知,并让后者知道这一点。 我的第一个想法是使用 node.js。但是我开始阅读很多关于 XMPP 协议的内容。你认为 XMPP 服务器更适合这种应用程序吗?我知道你可以自定义你的 xmpp 服务器,编写插件,这样它就可以按照你想要的方式运行。这是正确的吗?

【问题讨论】:

  • XMPP 对于简单的一对一聊天来说可能有点重。 Faye pub/sub 库可能更易于使用,并且支持私有通道、自动重新连接和 websockets、长轮询等。

标签: node.js mobile xmpp


【解决方案1】:

这是使用 NodeJS 进行套接字 IO 的完美用例。事实上,我已经用不到 50 行代码实现了您所描述的 iOS 客户端和节点后端。有关 iOS 库,请参阅 https://github.com/MegaBits/SIOSocket,有关 SocketIO,请参阅 http://socket.io/

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 后端示例,它接收和中继消息,以及维护当前用户的在线状态。您可以简单地添加用户身份验证和。

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    相关资源
    最近更新 更多