Skip to content

Is it possible to send a response back from server to syslog-client?  #28

@nagarajanceg

Description

@nagarajanceg

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions