git
https://github.com/sea-boat/mysql-protocol
概况
mysql客户端可以用ping命令来检查服务端的状态,正常会返回ok包。
mysql通信报文结构
| 类型 | 名字 | 描述 |
|---|---|---|
| int | payload长度 | 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头 |
| int | 序列号 | |
| string | payload | 报文体,长度即为前面指定的payload长度 |
ping命令包
Payload
1 [0e] COM_PING
更多详情 : http://dev.mysql.com/doc/internals/en/com-ping.html
ping命令包类
/** * * @author seaboat * @date 2016-09-25 * @version 1.0 * <pre class="brush:php;toolbar:false;"><b>email: </b>849586227@qq.com*
<b>blog: </b>http://www.php.cn/;/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 协议的ping命令包及解析的内容,更多相关内容请关注PHP中文网(www.php.cn)!
