我希望通过查询字符串将数据发送到我的节点,然后让它解析查询并采取相应的行动。
var app = require('http').createServer(handler),
io = require('socket.io').listen(app),
url = require('url');
app.listen( 61337 );
function handler( request, response ) {
var requestURL = url.parse(request.url, true);
if( requestURL.query.message ) {
var data = JSON.parse( decodeURI( requestURL.query.message ) );
pushMe( data );
}
/** ... */
}
function pushMe( data ) {
io.sockets.socket( data.socketid ).emit( data.action, data.value );
}
io.sockets.on('connection', function( socket ) {
socket.on('join', function( data ) {
/** ... */
});
socket.on('disconnect', function() {
/** ... */
});
});
我的pushMe
函数如何返回错误:TypeError:Object没有方法'emit'
如何从我的函数中发出数据?
答案 0 :(得分:0)
我需要将整个套接字保存到一个数组中,然后以这种方式访问它......
var app = require('http').createServer(handler),
io = require('socket.io').listen(app),
url = require('url');
app.listen( 61337 );
var registeredSockets = [];
function handler( request, response ) {
var requestURL = url.parse(request.url, true);
if( requestURL.query.message ) {
var data = JSON.parse( decodeURI( requestURL.query.message ) );
pushMe( data );
}
/** ... */
}
function pushMe( data ) {
registeredSockets[data.socketid].emit( data.action, data.value );
}
io.sockets.on('connection', function( socket ) {
socket.on('join', function( data ) {
registeredSockets[socket.id] = socket;
/** ... */
});
socket.on('disconnect', function() {
/** ... */
});
});