Я планирую внедрить систему обмена мгновенными сообщениями, но я ничего не знаю о сокетах и протоколе xmpp.Соединения xmpp реализованы с помощью сокетов или нет, это единственный протокол для реализации системы IM без сокетов?Что делает протокол xmpp более хорошим, чем JSON.Чем они отличаются?Я где-то читал в интернете, что WhatsApp использует xmpp, чтобы всегда было открыто соединение.Как это возможно, как это реализовать?Как это реализовать в узле?