0
我正在尋找通過查詢字符串發送數據到我的節點,然後讓它解析查詢並採取相應的行動。socket.emit函數內
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
函數返回一個錯誤:類型錯誤:對象沒有方法「發出」
如何從我的功能發出的數據?
是'io.sockets.socket'的功能?你正試圖調用它。如果它是一個對象,你需要方括號,像'io.sockets.socket [data.socketid]' – apsillers 2014-09-05 16:14:40
顯然它沒什麼,用方括號我得到「不能讀取undefined的屬性」 – C0NFUS3D 2014-09-05 17:15:58
啊,你用的是socket.io 1.0?他們已經大大改變了API。也許[通過它的socket.id發送消息給客戶端](http://stackoverflow.com/questions/8467784/sending-a-message-to-a-client-via-its-socket-id)會有幫助? – apsillers 2014-09-05 17:18:41