В документации про них написано очень мало и вообще ничего не понятно, можете рассказать зачем они нужны? Чем socket.volatile.emit отличается от socket.emit? Хотелось бы получить развернутый ответ с реальным примером где это может быть полезно.
Есть данные отправка которых не то чтобы сильно обязательна.
А socket.io по дефолту видимо проверяет доставлено сообщение или нет. Если не доставлено пытается отправить еще раз.
Если кто-то не получил изначально по причине например тормозного интернета или какой-то другой, то сервер не будет пытаться отправить повторно volatile сообщения, в отличии от обычных.