用户信息
subsriptions
表userid topic 803471998343712768 usrVvZ8n1ZhmwA 803470600923254784 usrZDCcjjf90wc users
表id public tags 803470600923254784 {“fn”: “Alice Johnson”, “photo”: {“data”: “”, “type”: “jpg”}} [“basic:alice”, “email:alice@example.com”, “tel:+17025550001”] 803471998343712768 {“fn”: “张三”} [“basic:zhangsan”, “email:zhangsan@163.com”] - 发送方: “Alice Johnson”
- 接受方: “张三”
发送和接收方都在线
发送方在浏览器的console里打印的消息
[08:19:59.442] out: {"note":{"topic":"usrVvZ8n1ZhmwA","what":"kp"}}
[08:20:00.997] out: {"pub":{"id":"66695","topic":"usrVvZ8n1ZhmwA","noecho":true,"content":"2222"}}
[08:20:01.017] in: {"ctrl":{"id":"66695","topic":"usrVvZ8n1ZhmwA","params":{"seq":11},"code":202,"text":"accepted","ts":"2020-12-02T08:20:00.997Z"}}
[08:20:01.527] in: {"info":{"topic":"usrVvZ8n1ZhmwA","from":"usrVvZ8n1ZhmwA","what":"recv","seq":11}}
[08:20:02.198] out: {"note":{"topic":"usrVvZ8n1ZhmwA","what":"read","seq":11}}
接受方在浏览器的console里打印的消息
[08:19:59.443] in: {"info":{"topic":"usrZDCcjjf90wc","from":"usrZDCcjjf90wc","what":"kp"}}
[08:20:01.016] in: {"data":{"topic":"usrZDCcjjf90wc","from":"usrZDCcjjf90wc","ts":"2020-12-02T08:20:00.997Z","seq":11,"content":"2222"}}
[08:20:01.519] out: {"note":{"topic":"usrZDCcjjf90wc","what":"recv","seq":11}}
[08:20:13.381] out: {"note":{"topic":"usrZDCcjjf90wc","what":"read","seq":11}}
接收方不在线
发送方在浏览器的console里打印的消息
[09:01:26.847] out: {"note":{"topic":"usrVvZ8n1ZhmwA","what":"kp"}}
[09:01:28.227] out: {"pub":{"id":"120083","topic":"usrVvZ8n1ZhmwA","noecho":true,"content":"1231233123"}}
[09:01:28.243] in: {"ctrl":{"id":"120083","topic":"usrVvZ8n1ZhmwA","params":{"seq":16},"code":202,"text":"accepted","ts":"2020-12-02T09:01:28.227Z"}}
[09:01:29.427] out: {"note":{"topic":"usrVvZ8n1ZhmwA","what":"read","seq":16}}
解析
kp
事件
发送方在输入框一有按键按下,发送方就会像服务端发送
接受方就会收到服务端传来的消息:{ "note": { "topic": "usrVvZ8n1ZhmwA", "what": "kp" } }
{ "info": { "topic": "usrZDCcjjf90wc", "from": "usrZDCcjjf90wc", "what": "kp" } }
- 发送消息
- 发送方发出消息给服务器
{ "pub": { "id": "66695", "topic": "usrVvZ8n1ZhmwA", "noecho": true, "content": "2222" } }
- 接收方收到服务器发来的消息
{ "data": { "topic": "usrZDCcjjf90wc", "from": "usrZDCcjjf90wc", "ts": "2020-12-02T08:20:00.997Z", "seq": 11, "content": "2222" } }
- 发送方收到服务器的确认消息
{ "ctrl": { "id": "66695", "topic": "usrVvZ8n1ZhmwA", "params": { "seq": 11 }, "code": 202, "text": "accepted", "ts": "2020-12-02T08:20:00.997Z" } }
- 发送方发出消息给服务器
- 消息的确认
注意到消息的已读是有2个勾,一个勾是自己已读,另一个勾是对方已读,如果对方不在线,这里就只有一个勾
- 接收方发出消息
自己已经
收到
这个消息了{ "note": { "topic": "usrZDCcjjf90wc", "what": "recv", "seq": 11 } }
- 发送方收到服务器返回的消息:
表示消息的接收方已经
收到
这条消息了{ "info": { "topic": "usrVvZ8n1ZhmwA", "from": "usrVvZ8n1ZhmwA", "what": "recv", "seq": 11 } }
- 发送方发送消息给服务器
表示自己已经
读过
这条消息了{ "note": { "topic": "usrVvZ8n1ZhmwA", "what": "read", "seq": 11 } }
- 接收方发送消息
表示自己已经
读过
这条消息了{ "note": { "topic": "usrZDCcjjf90wc", "what": "read", "seq": 11 } }
- 接收方发出消息