Eyz*_*yzi 2 javascript sockets node.js
我正在尝试通过该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");
};
Run Code Online (Sandbox Code Playgroud)
这是一个工作代码。通过向设备发送命令会server.write返回一个现在只出现在终端中的响应。我想在write请求后立即返回该响应。最好在exports.write函数内。
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)
});
};
Run Code Online (Sandbox Code Playgroud)
调用你的write函数
var server = require('./serverFilePath')
server.write('callback works', function(error, data){
console.log('Received: ' + data)
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3668 次 |
| 最近记录: |