Files
hpos-web/nats.js
Pritimay Sarkar 8e659d8fed nats test
2024-02-19 12:17:06 +05:30

75 lines
2.0 KiB
JavaScript

// const nats = require('nats');
// const fs = require('fs');
// const privateKey = fs.readFileSync('clientCertificate/client-key.pem');
// const certificate = fs.readFileSync('clientCertificate/client-cert.pem');
// const nc = nats.connect({
// servers: ['nats://nanodgx.in:4222'],
// token: 'SUADA3R4HRQG5ZEGR7E65P5P2JUQ2LMVLEOGJWEIKLEYOZEPQES2WHW2KU',
// tls: {
// key: privateKey,
// cert: certificate,
// },
// connect: function() {
// console.log('Connected to NATS server');
// // Subscribe to a subject
// const subscription = nc.subscribe('your-subject');
// // Listen for incoming messages
// subscription.on('message', function(msg) {
// console.log(`Received message: ${msg.getData()}`);
// });
// // Publish a message
// nc.publish('your-subject', 'Hello NATS!');
// },
// error: function(err) {
// console.error(`Error connecting to NATS server: ${err}`);
// },
// close: function() {
// console.log('Connection to NATS server closed');
// },
// });
const NATS = require('nats');
const sc = NATS.StringCodec();
const seed = new TextEncoder().encode(
"SUACFBL4SJNFOYVB6F4AHK7A7VCHDENCKVLKJTTKAH3I47BOTSOE3Z2K7M",
);
const servers = [
{
servers: "nats://nanodgx.in:4222",
authenticator: NATS.nkeyAuthenticator(seed),
tls: {
keyFile: "certificate_path/client-key.pem",
certFile: "certificate_path/client-cert.pem",
},
},
];
servers.forEach(async (v) => {
try {
// console.log(v);
const nc = await NATS.connect(v);
// Subscribe to a subject
const subscription = await nc.subscribe("server.hpos.HCV-000-3998.ping");
/*
(async () => {
for await (const msg of subscription) {
console.log(`Received message: ${sc.decode(msg.data)}`);
// Your custom logic for handling the incoming message goes here
}
})();
*/
nc.publish("server.hpos.HCV-000-3998.ping", "ALIVE");
} catch (err) {
console.log(`error connecting to ${JSON.stringify(v)} ${err}`);
}
});