2014-11-11 2 views
0

мне нужно получить доступ к веб-сокетов по определенному пути, я монтировать Socket.io на клиенте с пути («WS») код Сервер:Подключение к конкретному маршруту через Socket.io

var io = require('socket.io')(server, {path: '/notif'}); 

Client код:

var socket = io('//127.0.0.1:7733/ws/', {path: '/notif'}); 
socket.connect(); 

Это не работает из-за «ws» на клиенте. Я подозреваю, что это потому, что у меня нет эквивалента на сервере (например, требуется сервер по определенному пути). (при удалении монтирования/rt все работает так, как ожидалось).

Что такое сервер api для настройки ws для прослушивания по определенному URL-адресу?

ответ

1

Вы точно знаете, что такое /ws/ в вашем url?

Здесь вы запрашиваете подключение к пространству имен ws. Чтобы получить соединение для этого пространства имен на сервере, вы должны написать:

io.of('/ws').on('connection', function(socket){ 
    console.log('someone connected'); 
}); 

См: http://socket.io/docs/rooms-and-namespaces/

Также вам не нужно вызывать socket.connect();

Вызов io() или io.connect() уже пытаются установить соединение с сервером.

+0

/ws/in my case, если это действительно просто подсказка для моего балансировочного устройства для маршрутизации запроса на правильный сервер. –

+0

Тогда я думаю, что у вас должно быть это на вашем клиенте: 'io ('// 127.0.0.1:7733', {path: '/ ws/notif'})' и установить тот же путь на сервере в зависимости от того, балансир переписывает путь – Tug

Смежные вопросы