JavaScript net.connect () - явно указывает локальный IP-адрес конечной точки - PullRequest
1 голос
/ 26 сентября 2019

Я не могу найти способ установить поле local endpoint в функции net.connect().Мне нужно явно установить local endpoint на определенный IP-адрес.

Я использую библиотеку node-ads для подключения процесса узла к устройству ПЛК.

В моем примере:

ads.tcpClient = net.connect(
    ads.options.port,
    ads.options.host,
    function () {
      ads.connected = true
      cb.apply(ads.adsClient)
    }
  )

Функция connect() не предлагает параметр для этого.Возвращающийся объект socket также, похоже, не имеет поля для конечной точки вообще.Что я делаю не так?

Причина этого заключается в том, что я подключаюсь к ПЛК Beckhoff, где для подключения требуется другой IP-адрес хоста, если другое соединение уже существует на том же компьютере.Проблема упоминается здесь .

Я точно знаю, что это возможно в реализации Beckhoff-ADS C #, так как этот код работает:

 var socket = new AmsSocket(targetip, amsport)
 {
     LocalEndPoint = new IPEndPoint(IPAddress.Parse(sourceip), 0)
 };
...