mysql 協議的ping命令包及解析詳解
前言:
MySQL客戶端可以用ping命令來檢查服務端的狀態,正常會返回ok包。
mysql通信報文結構
類型 |
名字 |
描述 |
---|---|---|
int<3> |
payload長度 |
按照the least significant byte first存儲,3個字節的payload和1個字節的序列號組合成報文頭 |
int<1> |
序列號 |
|
string |
payload |
報文體,長度即為前面指定的payload長度 |
ping命令包
Payload
1
|
[0e] COM_PING<br> |
更多詳情 : http://dev.mysql.com/doc/internals/en/com-ping.html
ping命令包類
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/** * * @author seaboat * @ date 2016-09-25 * @version 1.0 * <pre><b>email: </b>[email protected]</pre> * <pre><b>blog: </b>http://blog.csdn.net/wangyangzhizhou</pre> * <p>ping command packet.</p> */ public class PingPacket extends MySQLPacket { // payload length is 1,packet id is 0,payload is 0e public static final byte[] PING = new byte[] { 1, 0, 0, 0, 14 }; @Override public int calcPacketSize() { return 1; } @Override protected String getPacketInfo() { return "MySQL Ping Packet" ; } } |
源碼下載:mysql-protocol-master.rar
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/wangyangzhizhou/article/details/54405116