Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I need to access Web sockets via specific path, I mount my socket.io on the client with a path ('ws') Server code:

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

Client code:

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

This does not work due to “ws” on client. I suspect it's because I don't have the equivalent on the server (e.g. require server on specific path). (when removing the /rt mount, everything seems to work as expected).

What is the server api to set up ws to listen on specific URL ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
272 views
Welcome To Ask or Share your Answers For Others

1 Answer

Are you sure you know what /ws/ in your url is used for?

Here you are asking to connect to the ws namespace. To receive connection for that namespace on the server you have to write:

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

See: http://socket.io/docs/rooms-and-namespaces/

Also you don't need to call socket.connect();

Calling io() or io.connect() will already try to establish connection with the server.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...