setInterval(function () {
var statusRos = new ROSLIB.Ros();
statusRos.connect(that.$rosBackendUrl);
statusRos.getNodes(async function (nodes) {
for(var ni in nodes) {
const device_status_client = new ROSLIB.Service({
ros: statusRos,
name: "foo/get_device_status",
serviceType: 'std_srvs/Empty'
})
async function getStatus() {
return new Promise((resolve, reject) => {
device_status_client.callService(
new ROSLIB.ServiceRequest({}),
device => {
// Do something
resolve();
},
error => {
reject(error);
console.error(error);
}
);
})
}
try {
await getStatus();
} catch( err ){
console.error(err);
}
}
}
await statusRos.close();
}, 1000);
Expected Behavior
When using kill -2 {NODE_PID} to exit one node, the client caused by callService should be disconnected to the rosbridge_websocket, and the number of clients connected to the rosbridge_websocket should be minus one.
Actual Behavior
When using kill -2 {NODE_PID} to exit one node, the client caused by callService seems not to be disconnected to the rosbridge_websocket, and the number of clients connected to the rosbridge_websocket should hold the same.
Description
Steps To Reproduce
Expected Behavior When using
kill -2 {NODE_PID}
to exit one node, the client caused bycallService
should be disconnected to the rosbridge_websocket, and the number of clients connected to the rosbridge_websocket should be minus one.Actual Behavior When using
kill -2 {NODE_PID}
to exit one node, the client caused bycallService
seems not to be disconnected to the rosbridge_websocket, and the number of clients connected to the rosbridge_websocket should hold the same.