#node.js #events #socket.io
#node.js #Мероприятия #socket.io
Вопрос:
Кто-нибудь знает, какие события встроены в Socket.io ?
Например: connection
, disconnect
, и т.д. join
Ответ №1:
Вот все, что я нашел в официальных документах:
События на стороне клиента для socket.io
объекта:
connect
. Срабатывает при успешном подключении.connect_error
. Срабатывает при ошибке подключения.
Параметры:Object
объект ошибки
connect_timeout
. Срабатывает при тайм-ауте соединения.reconnect
. Срабатывает при успешном повторном подключении.
Параметры:Number
номер попытки повторного подключения
reconnect_attempt
. Срабатывает при попытке повторного подключения.reconnecting
. Срабатывает при попытке повторного подключения.
Параметры:Number
номер попытки повторного подключения
reconnect_error
. Срабатывает при ошибке попытки повторного подключения.
Параметры:Object
объект ошибки
reconnect_failed
. Срабатывает, когда не удалось повторно подключиться вreconnectionAttempts
События на стороне клиента для socket
объекта:
connect
. Срабатывает при подключении.error
. Срабатывает при ошибке подключения
Параметры:Object
данные об ошибке
disconnect
. Срабатывает при отключении.reconnect
. Срабатывает при успешном повторном подключении.
Параметры:Number
номер попытки повторного подключения
reconnect_attempt
. Срабатывает при попытке повторного подключения.reconnecting
. Срабатывает при попытке повторного подключения.
Параметры:Number
номер попытки повторного подключения
reconnect_error
. Срабатывает при ошибке попытки повторного подключения.
Параметры:Object
объект ошибки
reconnect_failed
. Срабатывает, когда не удалось повторно подключиться вreconnectionAttempts
События на стороне сервера:
connection
/connect
. Срабатывает при соединении.
Параметры:Socket
входящий сокет.
Редактировать:
Для текущей версии ( 1.3.4
) reconnect_attempt
события и reconnecting
события на стороне клиента являются синонимами.
Комментарии:
1. Хм, этого не может быть, так как в нем даже нет списка «отключить». Кажется, документация очень неполная. У кого-нибудь есть правильный список?
2. @Killroy После изучения сокета. исходный код ввода-вывода некоторое время я пришел к выводу, что сокет на стороне сервера отличается от сокета на стороне клиента. Например, в нем нет
reconnect
reconnect_attempt
событий , ,reconnecting
,reconnect_error
,reconnect_failed
, потому что новый сокет на стороне сервера создается при каждом повторном подключении. Это все, что я могу сказать на данный момент. Я дам вам знать, если узнаю больше.3. Существует также событие «отключения» на стороне сервера (проверено в версии 1.3.5), хотя я нигде не могу найти документацию по нему. Документы настолько абстрактны от использования ( кашель ужасный кашель ), что я, возможно, просто смотрю не на то, что нужно.
4. ВАЖНО! Событий больше, однако мы все можем сделать вывод, что документы отстой.. Эта проблема ( github.com/socketio/socket.io/issues/1814 ) что касается нового события (на официальное внедрение которого ушло 2 года) — и его нигде нет. Тем не менее, оно есть — событие
disconnecting
может быть полезным.5. Почему они просто не добавили класс, содержащий все константы? :facepalm: Это было бы намного проще