Rumah  >  Artikel  >  pangkalan data  >  mysql 协议的退出命令包及解析代码介绍

mysql 协议的退出命令包及解析代码介绍

黄舟
黄舟asal
2017-03-07 14:03:301433semak imbas

git

https://github.com/sea-boat/mysql-protocol

概况

mysql客户端连接上mysql服务端后,当需要退出断开连接时则向服务端发送退出命令。服务端可以直接关闭连接或返回OK包。

mysql通信报文结构

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

退出命令包

Payload

1              [01] COM_QUIT

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

退出命令包类

/**
 * 
 * @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>quit command packet.</p>
 */public class QuitPacket extends MySQLPacket {
    // payload length is 1,packet id is 0,payload is 1
    public static final byte[] QUIT = new byte[] { 1, 0, 0, 0, 1 };    @Override
    public int calcPacketSize() {        return 1;
    }    @Override
    protected String getPacketInfo() {        return "MySQL Quit Packet";
    }

}

 以上就是mysql 协议的退出命令包及解析代码介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn