unix socket reconnect fails
datvong-wm opened this issue · comments
Dat Vong commented
On linux, call to connect
socket.connect("unix:///home/mypath")
fails with
RangeError: "port" option should be >= 0 and < 65536: NaN
at lookupAndConnect (net.js:970:13)
at Socket.connect (net.js:945:5)
at Socket.connect (net.js:904:37)
at SubSocket.Socket.connect (/home/app/node_modules/axon/lib/sockets/sock.js:295:8)
at Timeout._onTimeout (/home/app/node_modules/axon/lib/sockets/sock.js:280:12)
First time called, the port containing "unix:///home/mypath" is parsed so port="/home/mypath"
Line 251 in df2f5bb
if (port.protocol == "unix:") {
host = fn;
fn = undefined;
port = port.pathname;
On timeout and subsequent retry, port of "/home/mypath" will fail because protocol "unix://" has been stripped from port.
setTimeout(function(){
debug('%s attempting reconnect', self.type);
self.emit('reconnect attempt');
sock.destroy();
self.connect(port, host);
James Allen commented
@datvong-wm nice!