基于mqtt的IM系统设计

client名称

订阅频道地址

payload

Admin

 

/9a/admin/notify/, QoS=1

Example: /9a/admin/notify/im1001

系统通知消息, string

Retain=0

User

上线:/9a/login/, qos=1

聊天: /9a/chat/, qos=0

下线:/9a/logout/, qos=1

上线/下线时,内容填自己的imID就行。

下线就是LWT频道。

Retain=0

 

离线接收,建立mqtt连接时,clean session=False。这样broker就会在client离线时,缓存此client接收的消息。

 

每个client只需要订阅自己的频道就可以了,比如需要向你发送消息就往你的频道发送。其它任何一个朋友想聊天,只需要往我的频道发消息过来就行。至于区分是哪个朋友发过来的,用发送者来区分。

 

你可能感兴趣的:(移动应用APP)