На прошлой работе я писал онлайн-консультанта с использованием веб-сокетов. На сервере php с вебсокетом, на клиенте javascript. Комментировал код, можете посмотреть
здесь на Github.
Файл websocket.php - логика самого вебсокета, с комментариями. Я ничего не понимал в вебсокетах, поэтому комментировал каждую строку, чтобы понять.
файл start_socket.php - работа с вебсокетом.
Написано без использования фреймворков.
Онлайн консультант в принципе рабочий, но я его не смог доделать, ушел с работы