Node.js-Socket.io-将请求与响应关联

Node.js-Socket.io-将请求与响应关联,node.js,tcp,socket.io,Node.js,Tcp,Socket.io,我正在尝试使用Node.js中的网络包通过TCP/IP与我的a源测量单元通信。连接到仪器并运行查询没有问题 然而,我试图在请求和响应之间建立某种关联。例如,假设我想测量并从仪器中提取一些电流。我想 socket.on('data', function( data ) { console.log( data.toString( 'utf8' ) ); }); socket.write("print( smua.measure.i() );\r\n", 'utf8'); // This w

我正在尝试使用Node.js中的网络包通过TCP/IP与我的a源测量单元通信。连接到仪器并运行查询没有问题

然而,我试图在请求和响应之间建立某种关联。例如,假设我想测量并从仪器中提取一些电流。我想

socket.on('data', function( data ) {
    console.log( data.toString( 'utf8' ) );
});

socket.write("print( smua.measure.i() );\r\n", 'utf8'); // This will directly print the response into the socket
这很好用

但是,无法知道输出是否来自该特定查询,因为它是异步的。关于我可以采用的解决方案,有什么线索吗

在GPIB协议中(如果我理解正确的话),我查询仪器(或套接字…)以获得响应,这使得事情变得更容易,因为它都是顺序的。但我如何在TCP中做到这一点


提前谢谢

由于您控制请求和响应,因此可以在每个请求/响应中放置请求ID。只需使用一个单原子递增计数器作为您的请求id,并且在每个响应中,只需发送回请求中附带的请求id。那么您就知道具有相同id的请求和响应是相关联的。