node-syslog-client
node-syslog-client copied to clipboard
Is it possible to send a response back from server to syslog-client?
I have been trying to communicate between the syslog-client with Tcp transport and tcp-server. Communication between the syslog-client to tcp-server works well . I doubted the syslog-client doesn't provide the other way around like receiving a response data from tcp-server.
Tcp-sever:
var net = require('net');
var server = net.createServer((socket) => {
console.log('Received connection');
socket.setEncoding('utf8');
socket.on('data', function(data) {
console.log('Socket recieved data');
console.log(data);
var ack = {
type: 'hello_ack',
data: {}
};
// Sending an acknowledge to syslog-client
socket.write(JSON.stringify(ack) + '\n');
});
}).on('error', (err) => {
throw err;
}).on('connection',function(data){
console.log("connection in establish");
})
server.listen(54764,() => {
var address = server.address();
console.log('opened server on %j', address);
});
Tcp-Syslog-client:
var syslog = require("syslog-client");
var os = require('os');
var options = {
syslogHostname: os.hostname(),
transport: syslog.Transport.Tcp,
port:54764
};
var client = syslog.createClient("127.0.0.1", options);
var opts = {
facility: syslog.Facility.Alert,
severity: syslog.Severity.Critical,
severityCode: 2,
tag: 'error',
hostname:os.hostname()
};
client.log("hello" , opts, function(error){
if (error) {
console.error(error);
} else {
console.log("sent message successfully");
}
});
// Expect the server socket write data available at here
client.on("data", function(data){
console.log("data received back ===> ", data);
});
client.on("error", function(data){
console.log(data," === error ===");
});
The "hello" message is successfully passed from syslog-client to tcp-server works fine. But the response from tcp-server to syslog-client doesn't happen. I am not sure probably whether I missed something in responding at tcp-server or receiving at syslog-client.
I would like to know the syslog-client have the capability of sending and receiving data in Tcp transport mode.