«Uncaught TypeError: this._socket.write не является функцией» на client.connect - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь создать OPCUA-клиент в nw.js с пакетом node-opcua. Я получил ошибку в функции client.connect. Он говорит, что нет функции socket.write. Так как я использую новейший nw.js и, следовательно, node.js 11.6, он должен быть там, как описано в API .

Я просто использую пример клиентского кода для подключения и регистрации объекта сокета на консоли. На самом деле нет функции «записи». Доступна только функция " _ write" с другими параметрами.

My Test Connect Code (вложенный в асинхронный):

var testConnect = function(cb){
    client.connect(endpointUrl, function (err) {
        if(err) {
            console.log(" cannot connect to endpoint :" , endpointUrl );
        } else {
            console.log("connected !");
        }
        cb(err);
    });
}

Код, который выдает ошибку в node_modules \ node-opcua-transport \ src \ tcp_transport.js :

TCP_transport.prototype._write_chunk = function (message_chunk) {
    if (this._socket) {
        this.bytesWritten += message_chunk.length;
        this.chunkWrittenCount ++;
        console.log(this._socket);
        this._socket.write(message_chunk);   <--- This throws the error
    }
}; 

В результате клиент никогда не подключается и будет пробовать его всегда или до достижения значения параметра maxRetry.

Есть мысли?

...