node.js - socket.io listen / listening event -
i surprised looking @ socket.io
docs there no event fired socket.io when bound port...i looking "listen" / "listening" event...
http://socket.io/docs/server-api/
i have simple module initialized http.server instance:
var io = require('socket.io'); var socketserver = null; function getsocketserver(httpserver) { if (socketserver === null) { if (httpserver == null) { throw new error('need init socketserver http.server instance'); } socketserver = io.listen(httpserver); } return socketserver; } module.exports = { getsocketserver:getsocketserver };
when require module, want listen 'listening' event.
something like:
var socket = require('./socket-cnx').getsocketserver(); socket.on('listening',function(err){ });
i suppose primary reason because on
api used event names.
so socket.io doesn't listen. http server listens, , that's object emit listening
event.
if allow socket.io create http server instance you, instance published httpserver property of io instance should able io.httpserver.on('listening', myonlisteninghandler)
here's working sample program:
var io = require('socket.io')(4001) io.httpserver.on('listening', function () { console.log('listening on port', io.httpserver.address().port) })
Comments
Post a Comment