客戶端連接日志
1403334375: New connection from 121.201.8.163 on port 1883. 1403334375: New client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo). 1403334375: Sending CONNACK to zhoujing (0)
以上是一個客戶端正常連接的日志。
- 第一行:服務器收到一個新的連接請求
1403334375: 表示連接的時間點
121.201.8.163: 客戶端的IP地址
1883: 連接的服務器端口號
- 第二行:服務器為客戶端建立連接
zhoujing (c0, k60, ujoyo): 客戶端連接指定的ClientID為'zhoujing'
c0: 表示cleanSession=false,不清除session
k60: 表示keep-alive=60s
ujoyo: 表示使用的服務器賬號為joyo
- 第三行:發送連接ACK包給客戶端
客戶端訂閱過程日志
1403334375: Received SUBSCRIBE from zhoujing 1403334375: jiji/chat/9 (QoS 2) 1403334375: zhoujing 2 jiji/chat/9 1403334375: Sending SUBACK to zhoujing
- 第一行:服務器收到一個來自ClientID為zhoujing的訂閱請求
- 第二行:服務器識別zhoujing訂閱的主題為 jiji/chat/9,指定的QOS=2(有且只發送一次)
- 第三行:給ClientID=zhoujing客戶端發送訂閱ACK回包
服務器發送內容給客戶端日志
1403334378: Sending PUBLISH to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes)) 1403334378: Received PUBREC from zhoujing (Mid: 1) 1403334378: Sending PUBREL to zhoujing (Mid: 1) 1403334378: Received PUBCOMP from zhoujing (Mid: 1)
- 第一行:服務器正在發送一個消息給ClientID=zhoujing的客戶端,消息體大小為396 bytes,消息主題為‘jiji/chat/9’
(d0, q2, r0, m1)的解釋, 以下參數具體含義,參考MQTT協議
d: 表示mqtt報頭的DUP字段
q: 表示的QOS字段
r: 表示的是RETAIN
m: 表示的是消息ID,即mid
- 第二行:發布收稿階段,有保證的交付第一部分
- 第三行:出版發行階段,有保證的交付第二部分
- 第四行:發布完成,有保證的交付第三部分,至此一個內容發部過程完成
客戶端主動斷開連接的日志
客戶端主動斷開連接的只有一行日志,很簡單。如下所示:
1403334380: Received DISCONNECT from JY_API_PUSH_CLIENT
接收客戶端發布內容的過程日志
1403334389: Received PUBLISH from JY_API_PUSH_CLIENT (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes)) 1403334389: Sending PUBREC to JY_API_PUSH_CLIENT (Mid: 1) 1403334389: Received PUBREL from JY_API_PUSH_CLIENT (Mid: 1) 1403334389: Sending PUBCOMP to JY_API_PUSH_CLIENT (Mid: 1)
- 第一行:接收來自ClientID=JY_API_PUSH_CLIENT的發布請求,發布的消息主題為'jiji/chat/9',消息大小為396 bytes
- 第二行:服務器發送PUBREC給客戶端,此過程與發送消息給客戶端正好對稱,只不過是Received和Sending的對象反過來而已
- 第三行:服務器接收到客戶端已經釋放的命令,內容交付第二步完成
- 第四行:通知客戶端,接收完成,至此一個消息發布完成,內容交付第三步完成
同一個ClientID重復連接時
1403334510: New connection from 121.201.7.150 on port 1883. 1403334510: Client JY_API_PUSH_CLIENT already connected, closing old connection.
接收客戶端心跳包
1403336716: Received PINGREQ from 36383A64663A6464003V0 1403336716: Sending PINGRESP to 36383A64663A6464003V0
客戶端連接超時,服務器主動清除連接信息
1403336671: Client 33303A33393A3236003V0 has exceeded timeout, disconnecting.
客戶端socket異常時的日志
1403337602: Socket error on client 351BBJKFX62C1, disconnecting. 1403337602: Socket error on client 351BBJKFX62C0, disconnecting.