Я только хочу, чтобы socket.io прослушивал мой / домашний маршрут, но, кажется, он прослушивает каждый маршрут?Есть ли способ заставить его слушать только мой / домашний маршрут?
Клиентский Javascript либо подключается к серверу socket.io, либо нет - это двоичный файл.Там нет смысла для нескольких маршрутов, как с HTTP-запросов.socket.io поддерживает подключение и прослушивание определенного пространства имен, если вы хотите использовать несколько отдельных «каналов» подключения для нескольких подключений.
Хорошо, так что он просто прослушивает все на сайте, когда сайт загружается?Как я могу изменить вещи только на одной из моих страниц, если она прослушивает весь сайт?Или это не тормозит?
Сервер socket.io просто прослушивает входящие соединения.Он не связан с маршрутом.
Чтобы подключить только некоторые из ваших страниц к socket.io, либо вы используете другой Javascript на некоторых своих страницах, либо ваш общий Javascript проверяет путь страницы иподключаться только к socket.io только для определенных путей к страницам.
Например, вы можете иметь это на своей веб-странице. Javascript:
var socket;
if (window.location.pathname === "/home") {
socket = io();
socket.on(...);
}
Это позволит использовать ваш общий Javascript (который присутствует вмного страниц), чтобы создать соединение socket.io только на вашей странице /home
.