我正在尝试通过write
函数获取特定请求的响应。
我通过net
模块连接到设备(这是与它通信的唯一方式)。目前,我有一个.on('data',function)
来听取上述设备的回复。我可以通过我希望收到一行响应的write
函数发送命令。我怎么能这样做呢?
当前代码:
server = net.Socket();
// connect to server
server.connect(<port>,<ip>,()=>{
console.log("Connected to server!");
});
// log data coming from the server
server.on("data",(data)=>{
console.log(''+data);
});
// send command to server
exports.write = function(command){
server.write(command+"\r\n");
};
这是一个有效的代码。通过server.write
向设备发送命令会返回一个响应,该响应现在仅出现在终端中。我想在write
请求之后立即返回该回复。最好在exports.write
函数内。
答案 0 :(得分:1)
在callback
函数中添加exports.write
参数可以解决您的问题。
exports.write = function(command, callback){
server.write(command+"\r\n");
server.on('data', function (data) {
//this data is a Buffer object
callback(null, data)
});
server.on('error', function (error) {
callback(error, null)
});
};
拨打write
功能
var server = require('./serverFilePath')
server.write('callback works', function(error, data){
console.log('Received: ' + data)
})