Для одного проекта использовал эту библиотеку
https://github.com/walkor/Workerman
Библиотека рабочая, но пришлось сильно запариться, чтобы стабильно работала с битриксом - решать вопросы с коннектом к базе.
Вот простой js который работал
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<button onclick="init()">init</button>
<button onclick="users()">users</button>
<script>
var token = '123123123';
var ws;
connect();
ws.onmessage = function(evt) {
var json = JSON.parse(evt.data);
console.log(json);
};
ws.onopen = function(evt){
};
function connect()
{
ws = new WebSocket("ws://test.com:8002");
}
function init()
{
ws.send(JSON.stringify({
command: 'init',
params: {
token: token
}
}));
}
function users()
{
ws.send(JSON.stringify({
command: 'get_users',
params: {
token: token,
type: 'doctor'
}
}));
}
</script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
</html>