Web服务端怎么发送消息给Android客户端了,Android客户端又怎么接收发来的消息了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务端怎么发送消息给Android客户端了,Android客户端又怎么接收发来的消息了相关的知识,希望对你有一定的参考价值。
android代码:
Web服务端代码:
(没分了不好意思)
我想让Android端知道是否注册成功该怎么弄? 怎么向Android端发送消息了。。。 现在Android端可以发消息给服务器端,也能储存数据。。
这里面实现了登录功能。可以知道是否登录成功,同理,注册也一样。网盘地址:
追问你给我的这个Demo也不是太懂, 我用的是mysql数据库。 我就是想实现当我成功注册后,让Android客户端接收到消息,然后提示一个注册成功,然后在跳转页面。
我看了你的Demo应该是先让Android客户端给Web服务端发个请求,然后服务端在返回给Android。 具体该怎么操作也不太清楚。。
发送请求给服务端,服务端执行完逻辑后返回状态,以Json格式返回,在Android客户端接收这个Json字符串。
追问请问具体的应该怎样操作了,我没有怎么接触过Json感觉有些难,大神跪求了。
追答就像给你的那个例子一样。
Web服务端在登录判断里返回了一个数字,这个数字就是判断的结果,然后在servlet里调用封装Json的方法将Json字符串返回到Android客户端,Android客户端解析这个Json就OK了。例子里面有这个流程的。
MQTT 协议学习:006-订阅主题
背景
之前我们提到了怎么发布消息对应的报文;现在我们来看,订阅一个主题的报文是怎么样的。
SUBSCRIBE - 订阅主题
客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。每个订阅注册客户端关心的一个或多个主题。为了将应用消息转发给与那些订阅匹配的主题,服务端发送PUBLISH报文给客户端。SUBSCRIBE报文也(为每个订阅)指定了最大的QoS等级,服务端根据这个发送应用消息给客户端。
SUBSCRIBE 的 固定报头
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
byte 1 | MQTT控制报文类型 (0x8) | 保留位(0x2) | ||||||
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
byte 2 | 剩余长度 |
SUBSCRIBE控制报固定报头的第3,2,1,0位是保留位,必须分别设置为0,0,1,0。服务端必须将其它的任何值都当做是不合法的并关闭网络连接。
剩余长度字段 等于可变报头的长度(2字节)加上有效载荷的长度。
SUBSCRIBE 的 可变头
SUBSCRIBE 的 可变头 中只有 报文标识符(Packet Identifier)
这一个字段。
报文标识符(Packet Identifier) 占用2个字节。没什么新的知识点,这里不再介绍。
SUBSCRIBE 的 有效荷载
SUBSCRIBE报文的有效载荷必须包含至少一对主题过滤器
和 QoS等级
字段组合。
每一个过滤器后面跟着一个字节,这个字节被叫做 服务质量要求(Requested QoS)。它给出了服务端向客户端发送应用消息所允许的最大QoS等级。
主题过滤器列表:表示客户端想要订阅的主题。
SUBSCRIBE报文有效载荷中的主题过滤器列表必须是UTF-8字符串。服务端应该支持包含通配符(4.7.1节定义的)的主题过滤器。如果服务端选择不支持包含通配符的主题过滤器,必须拒绝任何包含通配符过滤器的订阅请求。
请求的最大服务质量等级字段编码为一个字节,它后面跟着UTF-8编码的主题名,那些主题过滤器 /和QoS等级组合是连续地打包。
图例 3.22 – SUBSCRIBE报文有效载荷格式
描述 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
主题过滤器 | ||||||||
byte 1 | 长度 MSB | |||||||
byte 2 | 长度 LSB | |||||||
byte 3..N | 主题过滤器(Topic Filter) | |||||||
服务质量要求(Requested QoS) | ||||||||
保留位 | 服务质量等级 | |||||||
byte N+1 | 0 | 0 | 0 | 0 | 0 | 0 | X | X |
当前版本的协议没有用到服务质量要求(Requested QoS)字节的高六位。如果有效载荷中的任何位是非零值,或者QoS不等于0,1或2,服务端必须认为SUBSCRIBE报文是不合法的并关闭网络连接 [MQTT-3-8.3-4]。
有效载荷非规范示例
图例 3.23 – 有效载荷字节格式非规范示例 展示了 表格 3.5 – 有效载荷非规范示例 中简略描述的SUBSCRIBE报文的有效载荷。
表格 3.5 – 有效载荷非规范示例
主题名 | “a/b” |
---|---|
服务质量要求 | 0x01 |
主题名 | “c/d” |
服务质量要求 | 0x02 |
图例 3.23 – 有效载荷字节格式非规范示例
描述 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
主题过滤器(Topic Filter) | |||||||||
byte 1 | Length MSB (0) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
byte 2 | Length LSB (3) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
byte 3 | ‘a’ (0x61) | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
byte 4 | ‘/’ (0x2F) | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
byte 5 | ‘b’ (0x62) | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
服务质量要求(Requested QoS) | |||||||||
byte 6 | Requested QoS(1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
主题过滤器(Topic Filter) | |||||||||
byte 7 | Length MSB (0) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
byte 8 | Length LSB (3) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
byte 9 | ‘c’ (0x63) | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
byte 10 | ‘/’ (0x2F) | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
byte 11 | ‘d’ (0x64) | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
服务质量要求(Requested QoS) | |||||||||
byte 12 | Requested QoS(2) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
以上是关于Web服务端怎么发送消息给Android客户端了,Android客户端又怎么接收发来的消息了的主要内容,如果未能解决你的问题,请参考以下文章
openfire怎么实现androi推送 还需要用到哪些东西