Thanks to visit codestin.com
Credit goes to github.com

Skip to content

unix socket reconnect fails #168

@datvong-wm

Description

@datvong-wm

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"

if (port.protocol == "unix:") {

    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);

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