Разве использование библиотек -- это зло?..
В данном случае библиотеки облегчают жизнь, поскольку пока еще у некоторых браузеров есть проблемы с совместимостью, а библиотеки помогают это учесть.
Для решения подобной задачи мне помогла библиотека
sockjs, она проста в применении и легка по объему.
Использование npm - жизненно необходимо, ибо легче чем npm install sockjs пока еще ничего не придумано...
А что конкретно не получается, можно код увидеть?