Conectando a um soquete UNIX já estabelecido com o node.js?
Estou trabalhando em um aplicativo node.js que se conectará a um soquete UNIX (em uma máquina Linux) e facilitará a comunicação entre uma página da Web e esse soquete. Até agora, consegui criar soquetes e me comunicar com esse código no meu app.js principal:
var net = require('net');
var fs = require('fs');
var socketPath = '/tmp/mysocket';
fs.stat(socketPath, function(err) {
if (!err) fs.unlinkSync(socketPath);
var unixServer = net.createServer(function(localSerialConnection) {
localSerialConnection.on('data', function(data) {
// data is a buffer from the socket
});
// write to socket with localSerialConnection.write()
});
unixServer.listen(socketPath);
});
Esse código faz com que o node.js crie um soquete UNIX em/tmp/mysocket
e estou obtendo uma boa comunicação testando comnc -U /tmp/mysocket
na linha de comando. Contudo...
Desejo estabelecer uma conexão com um soquete UNIX já existente do meu aplicativo node.js. Com o meu código atual, se eu criar um soquete na linha de comando (nc -Ul /tmp/mysocket
), execute o aplicativo node.js., não há comunicação entre o soquete e o aplicativo (o evento 'connect' não é acionado a partir do objeto de servidor node.js.).
Alguma dica de como fazer isso? Minhas experiências com a função node.js.net.createSocket
ao invés denet.createServer
até agora falharam e não tenho certeza se esse é o caminho certo.