新手问题 想问一下 mqtt 协议适合做 im 聊天的协议么?

sforce100 · 2014年12月18日 · 最后由 zhang_soledad 回复于 2014年12月22日 · 10761 次阅读

我发现很多资料都是说 mqtt 做推送,还有就是订阅发布之类的。但是如果做即时通信聊天方面的适合么。还是说要做扩展?? im 新手,求教

插件就叫 mqtt 啊

gem "mqtt"

调用的话也很简单

#TODO: 发送到mqtt
begin
  MQTT::Client.connect(MQTT_IP) do |c|
    c.publish(user.id, {:tp=>"msg",:data=>"messages"}.to_json.to_s)
  end
rescue => err
end

应该可以,我们就是用这个做的。不过原生的协议有些局限性,对 IM 来说,需要适当改造。例如群发,你需要在服务端做一些优化。

#1 楼 @badboy 首先谢谢你的回答,对于协议其实也有很多实现。这个和我的问题有点不符合

#2 楼 @jimrokliu 嗯谢谢,我也只了解了皮毛。先打个强心针再往下研究。

比 websocket 要好,比如 3 种模式,必须到达之类的,非常好用

这个协议很适合用来做聊天的 比起 xmpp 来说更加轻量 更适合移动端

需要 登录 后方可回复, 如果你还没有账号请 注册新账号