Сижу, разбираюсь с протоколом MySQL по
forge.mysql.com/wiki/MySQL_Internals_ClientServer_...
итак, начинаем. Коннектимся, в случае доступности сервера, как и положено, получаем
34 00 00 00 0A 34 2E 31 2E 32 32 00…
( 34 00 00) первые 3 байта — длина пакета
( 00 ) четвертый байт — номер пакета.
далее — версия сервера и прочая инфа по конфигу сервера.(строка с нулём на конце)
НО если вдруг превышен лимит коннектов к серверу — мы получаем от него ошибку «Host '***' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts', то есть такой пакет:
7C 00 00 00 FF 69 04 48 6F 73 74 20
тут так же, 4 байта — заголовок (длина пакета + номер пакета), но что дальше за три байта?
Как именно отделять пакеты с подобными ошибками от нормальных? откуда эти байты „FF 69 04“? где вообще можно найти полную инфу по всем возможным вариантам ответов сервера? Есть ли opensource проекты реализации mysql протокола? Или может я что-то пропустил когда читал по ссылке выше? Помогите пожалуйста.
p.s. да, я изобретаю велосипед, но он мне сейчас очень нужен :)