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>849586227@qq.com</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