Я не могу найти способ установить поле 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)
};