ActiveMQ之MQTT实现即时聊天

5235ed04aaa0e03be4edb30660243955_f83281ea5c1e48f6906e4f9cf927bbef.png

clipboard.png

clipboard.png

TB1KeJdRXXXXXbNaXXXXXXXXXXX.png

MQTT简介(http://mqtt.org/)

http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html

MQTT协议中文文档(https://mcxiaoke.gitbooks.io/mqtt-cn/content/)

MQTT是基于二进制消息的发布/订阅编程模式的消息协议(MQTT 协议是建立在 TCP 协议之上的),最早由IBM提出的,如今已经成为OASIS规范。由于规范很简单,非常适合需要低功耗和网络带宽有限的IoT场景,比如:

- 遥感数据

- 汽车

- 智能家居

- 智慧城市

- 医疗医护

详细介绍请移步至:http://dataguild.org/?p=6817

mqtt 能做什么?(物联网、即时通讯还可以用到其他适应的场景)

mqtt 简单来讲就是一个协议 是基于tcp之上的协议, 现在好多消息中间件都支持 mqtt协议 (mosquitto、activemq.....等)

那么问题来了,为什么要在 TCP 协议之上再封装一层 MQTT 协议呢?

就好比汽车地盘上有四个轮胎就能跑了,但是想要大家开车更舒服,我们还是得给底盘加个壳。

举个例子,如果你要用 TCP 协议做一个即时聊天室,那么你:

1. 首先写一个服务器程序,监听某个端口,这样客户端就能连接上来了。然后大家就能向你的服务器发送数据了。

2. 但是你不希望随便谁都能连接你的服务器并且往你的服务器里发东西,于是你写了一个注册页面,让别人先去注册账号,然后他们在客户端创建连接时发送的第一个TCP报文必须包含了账号密码。这样当你收到第一个报文之后,你就能判断这个连接是否合法了。

3. 但是发过来的账号密码,具体摆在报文什么位置,也得事先约定好吧,不然怎么知道哪几位是账号哪几位是密码,于是你要求:第一个字节为1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉源魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值