我试图使用像这样的套接字.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