Вебсокет RFC говорит о статусе 1006:
1006 является зарезервированным значением и НЕ ДОЛЖНО быть установлено в качестве кода состояния в
Закрыть контрольный кадр конечной точкой. Он предназначен для использования в
приложения, ожидающие код состояния, чтобы указать, что
соединение было закрыто ненормально, например, без отправки или
получение кадра управления Close.
Документация к пакету для веб-сокетов гласит:
SetCloseHandler устанавливает обработчик для закрытых сообщений, полученных от однорангового узла
Обработчик закрытия не был вызван, поскольку сообщение о закрытии не было получено. Узел закрыл соединение, не отправив сообщение о закрытии.
В документации пакета также указано:
Методы чтения соединения возвращают CloseError при получении сообщения о закрытии. Большинство приложений должны обрабатывать закрытые сообщения как часть своей обычной обработки ошибок. Приложения должны устанавливать обработчик закрытия только в том случае, если приложение должно выполнить какое-то действие перед отправкой сообщения закрытия узлу.
Поскольку обработчик в вопросе не отправляет закрывающее сообщение и не предпринимает никаких других действий, обработчик закрытия в вопросе не требуется. Обработчик вреден, потому что он не отображает сообщение о закрытии.
Удалите обработчик закрытия и обработайте сообщения закрытия как часть обычной обработки ошибок приложения.