Reputation: 189
There is a code line:
io.sockets.socket(socketid).emit('counter', { all : data.all, dialog : data.dialog });
It gives me exception:
TypeError: Object #<Namespace> has no method 'socket'
My connection event:
io.sockets.on('connection', function(socket) {});
Why object socket is no?
Full code:
var socketio = require('socket.io');
var server = http.createServer(app).listen(8181, function(){
console.log("Express server listening on port "+ app.get('port') +" in "+ app.get('env') +" mode.");
});
var io = socketio.listen(server);
io.on('connection', function(socket) {});
Upvotes: 1
Views: 685
Reputation: 1058
Socket server creation for use with express. Look at http://socket.io/docs/ for more information and help.
var app = require('express').createServer();
var io = require('socket.io')(app);
app.listen(8181);
io.on('connect', function(socket) {
socket.on('example', function(data) {
//parse the data, do something, create response data object, etc.
});
});
And with HTTP + Express
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8181);
io.on('connect', function(socket) {
socket.on('example', function(data) {
//parse the data, do something, create response data object, etc.
});
});
For the emit you are trying to create (my below example will broadcast only to the connected socket, by providing the .to(socket.id) )
io.to(socket.id).emit('counter', {all : data.all, dialog : data.dialog});
Upvotes: 3