我試圖使用像這樣的套接字.io和node.js: 瀏覽器發送一個事件給socket.io,在我調用的數據事件中另一臺服務器來獲取一些數據,我想用socket.emit發送一條消息給瀏覽器。 這看起來像:使用node.js和socket.io調用另一個套接字中的套接字
socket.on('ask:refresh', function (socket) {
const net = require("net");
var response = new net.Socket();
response.setTimeout(1000);
response.get_response = function (command, port, host) {
this.connect(port, host, function() {
console.log("Client: Connected to server");
});
this.write(JSON.stringify({ "command": command }))
console.log("Data to server: %s", command);
};
response.on("data", function (data) {
var ret = data.toString();
var tmp_data = JSON.parse(ret.substring(0, ret.length - 1).toString());
var data = new Object();
var date = new Date(tmp_data.STATUS[0].When * 1000);
data.date = date.toString();
socket.emit('send:refresh', JSON.stringify(data));
});
response.get_response("version", port, host);
});
};
的事情是,我無法訪問「socket.emit」裏面response.on。 你能解釋一下我怎麼能把這個放在手上嗎?
非常感謝
你確定'ask:refresh'處理程序獲取'socket'本身作爲參數嗎? – Bergi