mysql 协议的ping命令包及解析详解及实例

mysql 协议的ping命令包及解析详解

前言:

MySQL客户端可以用ping命令来检查服务端的状态,正常会返回ok包。

mysql通信报文结构

类型 名字 描述
int<3> payload长度 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头
int<1> 序列号
string payload 报文体,长度即为前面指定的payload长度

ping命令包

Payload

[0e] COM_PING

更多详情 : http://dev.mysql.com/doc/internals/en/com-ping.html

ping命令包类

/**
 * 
 * @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";
  }

}

源码下载:http://xiazai.jb51.net/201701/yuanma/mysql-protocol-master(jb51.net).rar

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!