这里不记录详细的两个协议内容。内容均为各人总结,如有出差,欢迎批评指正~
mqtt
对传输的消息类型没规定。开发目的是用于服务器与低功耗LOTs(物联网设备)的通讯,用于远程监控。可以想象下他的使用场景。一个城市错综复杂的地下水管网络,可能安装了成千上万个传感器来监控水管状态。可以想象,这些传感器的硬件条件要求,通讯方式必然要是省电省流量,保证网络环境不稳定的情况下可靠传输的,对实时性倒没有那么高的要求(只需秒级别的,而自动驾驶的车辆控制起码是ms级别的)
xmpp
基于xml文本格式传输。可想而知,传输内容灵活是一定了,冗余也是免不了了。支持http请求。成熟,安全。
总结
两个实时性都不高。mqtt更轻量级,可选传输质量,疑似不支持http请求。适合多对一或者一对多,同一个话题下不能很好的区分一对一。xmpp出来的早,很成熟,灵活,会冗余,支持htpp请求。