node-opcua-samples 2.75.0 → 2.76.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/di_server.js CHANGED
@@ -2,9 +2,9 @@
2
2
  "use strict";
3
3
  const path = require("path");
4
4
  const os = require("os");
5
+ const { hostname} = require("os");
5
6
  const chalk = require("chalk");
6
7
  const opcua = require("node-opcua");
7
-
8
8
  Error.stackTraceLimit = Infinity;
9
9
 
10
10
  function constructFilename(filename) {
@@ -101,7 +101,7 @@ const server = new OPCUAServer({
101
101
 
102
102
  userManager: userManager,
103
103
  registerServerMethod: opcua.RegisterServerMethod.LDS,
104
- discoveryServerEndpointUrl: argv.discoveryServerEndpointUrl || "opc.tcp://" + require("os").hostname() + ":4840"
104
+ discoveryServerEndpointUrl: argv.discoveryServerEndpointUrl || "opc.tcp://" + hostname() + ":4840"
105
105
  });
106
106
 
107
107
  process.title = "Node OPCUA Server on port : " + port;
@@ -2,20 +2,19 @@
2
2
  /* eslint-disable no-case-declarations */
3
3
  /* eslint no-process-exit: 0 */
4
4
  "use strict";
5
- const chalk = require("chalk");
6
- const treeify = require("treeify");
7
- const sprintf = require("sprintf-js").sprintf;
8
5
  const util = require("util");
9
6
  const fs = require("fs");
10
7
  const path = require("path");
8
+ const os = require("os");
9
+ const chalk = require("chalk");
10
+ const treeify = require("treeify");
11
+ const { sprintf } = require("sprintf-js");
11
12
  const _ = require("underscore");
12
13
 
13
14
  const opcua = require("node-opcua");
14
15
  const UAProxyManager = opcua.UAProxyManager;
15
16
  const DataType = opcua.DataType;
16
17
 
17
-
18
-
19
18
  const utils = opcua.utils;
20
19
 
21
20
  const { assert } = require("node-opcua-assert");
@@ -60,8 +59,6 @@ function add_endpoint_to_history(endpoint) {
60
59
 
61
60
  let lines = [];
62
61
 
63
-
64
-
65
62
  if (fs.existsSync(endpoints_history_file)) {
66
63
  lines = fs.readFileSync(endpoints_history_file, "utf-8");
67
64
  endpoints_history = lines.split(/\r\n|\n/);
@@ -69,12 +66,10 @@ if (fs.existsSync(endpoints_history_file)) {
69
66
 
70
67
  const history_file = path.join(__dirname, ".history");
71
68
 
72
-
73
69
  function completer(line, callback) {
74
-
75
70
  let completions, hits;
76
71
 
77
- if ((line.trim() === "") && curNode) {
72
+ if (line.trim() === "" && curNode) {
78
73
  // console.log(" completions ",completions);
79
74
  let c = [".."].concat(curNodeCompletion);
80
75
  if (curNodeCompletion.length === 1) {
@@ -86,7 +81,6 @@ function completer(line, callback) {
86
81
  if ("open".match(new RegExp("^" + line.trim()))) {
87
82
  completions = ["open localhost:port"];
88
83
  return callback(null, [completions, line]);
89
-
90
84
  } else {
91
85
  if (the_session === null) {
92
86
  if (client._secureChannel) {
@@ -99,13 +93,12 @@ function completer(line, callback) {
99
93
  }
100
94
  }
101
95
  assert(completions.length >= 0);
102
- hits = completions.filter(function(c) {
96
+ hits = completions.filter(function (c) {
103
97
  return c.indexOf(line) === 0;
104
98
  });
105
99
  return callback(null, [hits.length ? hits : completions, line]);
106
100
  }
107
101
 
108
-
109
102
  const rl = readline.createInterface({
110
103
  input: process.stdin,
111
104
  output: process.stdout,
@@ -123,7 +116,7 @@ function save_history(callback) {
123
116
  }
124
117
 
125
118
  function w(str, width) {
126
- return str.padEnd(width," ").substring(0, width);
119
+ return str.padEnd(width, " ").substring(0, width);
127
120
  }
128
121
  /**
129
122
  * @method toDate
@@ -183,7 +176,6 @@ function toDate(str) {
183
176
  } else {
184
177
  return new Date(str);
185
178
  }
186
-
187
179
  }
188
180
  function log() {
189
181
  rl.pause();
@@ -199,14 +191,12 @@ let nodePath = [];
199
191
  let nodePathName = [];
200
192
  const lowerFirstLetter = opcua.utils.lowerFirstLetter;
201
193
 
202
-
203
194
  function setCurrentNode(node) {
204
-
205
195
  curNode = node;
206
196
  const curNodeBrowseName = lowerFirstLetter(curNode.browseName.name.toString());
207
197
  nodePathName.push(curNodeBrowseName);
208
198
  nodePath.push(node);
209
- curNodeCompletion = node.$components.map(function(c) {
199
+ curNodeCompletion = node.$components.map(function (c) {
210
200
  if (!c.browseName) {
211
201
  return "???";
212
202
  }
@@ -221,7 +211,6 @@ function setRootNode(node) {
221
211
  setCurrentNode(node);
222
212
  }
223
213
  function moveToChild(browseName) {
224
-
225
214
  if (browseName === "..") {
226
215
  nodePathName.pop();
227
216
  curNode = nodePath.splice(-1, 1)[0];
@@ -236,12 +225,9 @@ function moveToChild(browseName) {
236
225
  setCurrentNode(child);
237
226
  }
238
227
  function get_root_folder(callback) {
239
-
240
228
  if (!rootFolder) {
241
-
242
229
  rl.pause();
243
- proxyManager.getObject(opcua.makeNodeId(opcua.ObjectIds.RootFolder), function(err, data) {
244
-
230
+ proxyManager.getObject(opcua.makeNodeId(opcua.ObjectIds.RootFolder), function (err, data) {
245
231
  if (!err) {
246
232
  rootFolder = data;
247
233
  assert(rootFolder, "expecting rootFolder");
@@ -256,27 +242,26 @@ function get_root_folder(callback) {
256
242
  }
257
243
  }
258
244
 
259
-
260
- client.on("send_chunk", function(message_chunk) {
245
+ client.on("send_chunk", function (message_chunk) {
261
246
  if (dumpMessageChunk) {
262
247
  process.stdout.write(">> " + message_chunk.length + "\r");
263
248
  }
264
249
  });
265
250
 
266
- client.on("receive_chunk", function(message_chunk) {
251
+ client.on("receive_chunk", function (message_chunk) {
267
252
  if (dumpMessageChunk) {
268
253
  process.stdout.write("<< " + message_chunk.length + "\r");
269
254
  }
270
255
  });
271
256
 
272
- client.on("send_request", function(message) {
257
+ client.on("send_request", function (message) {
273
258
  if (dumpPacket) {
274
259
  log(chalk.red(" sending request"));
275
260
  opcua.analyze_object_binary_encoding(message);
276
261
  }
277
262
  });
278
263
 
279
- client.on("receive_response", function(message) {
264
+ client.on("receive_response", function (message) {
280
265
  if (dumpPacket) {
281
266
  assert(message);
282
267
  log(chalk.cyan.bold(" receive response"));
@@ -284,24 +269,21 @@ client.on("receive_response", function(message) {
284
269
  }
285
270
  });
286
271
 
287
-
288
272
  function dumpNodeResult(node) {
289
- const str = sprintf(" %-30s%s%s", node.browseName.name, (node.isForward ? "->" : "<-"), node.nodeId.displayText());
273
+ const str = sprintf(" %-30s%s%s", node.browseName.name, node.isForward ? "->" : "<-", node.nodeId.displayText());
290
274
  log(str);
291
275
  }
292
276
  function colorize(value) {
293
277
  return chalk.yellow.bold("" + value);
294
278
  }
295
279
 
296
-
297
280
  if (rl.history) {
298
-
299
281
  if (fs.existsSync(history_file)) {
300
282
  lines = fs.readFileSync(history_file, "utf-8");
301
283
  lines = lines.split(/\r\n|\n/);
302
284
  }
303
285
  if (lines.length === 0) {
304
- let hostname = require("os").hostname();
286
+ let hostname = os.hostname();
305
287
  hostname = hostname.toLowerCase();
306
288
  rl.history.push("open opc.tcp://opcua.demo-this.com:51210/UA/SampleServer");
307
289
  rl.history.push("open opc.tcp://" + hostname + ":51210/UA/SampleServer");
@@ -316,18 +298,15 @@ if (rl.history) {
316
298
  }
317
299
  }
318
300
 
319
- process.on("uncaughtException", function(e) {
301
+ process.on("uncaughtException", function (e) {
320
302
  util.puts(e.stack.red);
321
303
  rl.prompt();
322
304
  });
323
305
 
324
-
325
-
326
-
327
306
  function apply_command(cmd, func, callback) {
328
- callback = callback || function() { };
307
+ callback = callback || function () {};
329
308
  rl.pause();
330
- func(function(err) {
309
+ func(function (err) {
331
310
  callback();
332
311
  rl.resume();
333
312
  rl.prompt(the_prompt);
@@ -335,12 +314,11 @@ function apply_command(cmd, func, callback) {
335
314
  }
336
315
 
337
316
  function apply_on_valid_session(cmd, func, callback) {
338
-
339
317
  assert(typeof func === "function");
340
318
  assert(func.length === 2);
341
319
 
342
320
  if (the_session) {
343
- apply_command(cmd, function(callback) {
321
+ apply_command(cmd, function (callback) {
344
322
  func(the_session, callback);
345
323
  });
346
324
  } else {
@@ -351,7 +329,7 @@ function apply_on_valid_session(cmd, func, callback) {
351
329
  function dump_dataValues(nodesToRead, dataValues) {
352
330
  for (let i = 0; i < dataValues.length; i++) {
353
331
  const dataValue = dataValues[i];
354
- log(" Node : ", chalk.cyan.bold((nodesToRead[i].nodeId.toString())), nodesToRead[i].attributeId.toString());
332
+ log(" Node : ", chalk.cyan.bold(nodesToRead[i].nodeId.toString()), nodesToRead[i].attributeId.toString());
355
333
  if (dataValue.value) {
356
334
  log(" type : ", colorize(DataType[dataValue.value.dataType]));
357
335
  log(" value: ", colorize(dataValue.value.value));
@@ -364,8 +342,7 @@ function dump_dataValues(nodesToRead, dataValues) {
364
342
  }
365
343
 
366
344
  function dump_historyDataValues(nodeToRead, startDate, endDate, historyReadResult) {
367
-
368
- log(" Node : ", chalk.cyan.bold((nodeToRead.nodeId.toString())), nodeToRead.attributeId.toString());
345
+ log(" Node : ", chalk.cyan.bold(nodeToRead.nodeId.toString()), nodeToRead.attributeId.toString());
369
346
  log(" startDate : ", startDate);
370
347
  log(" endDate : ", endDate);
371
348
  if (historyReadResult.statusCode !== opcua.StatusCodes.Good) {
@@ -392,7 +369,8 @@ function dump_historyDataValues(nodeToRead, startDate, endDate, historyReadResul
392
369
  dataValue.sourceTimestamp,
393
370
  w(dataValue.sourcePicoseconds, 4),
394
371
  colorize(w(dataValue.value.value, 15)),
395
- w(dataValue.statusCode.toString(16), 16));
372
+ w(dataValue.statusCode.toString(16), 16)
373
+ );
396
374
  } else {
397
375
  log(" value: <null>", dataValue.toString());
398
376
  }
@@ -400,20 +378,15 @@ function dump_historyDataValues(nodeToRead, startDate, endDate, historyReadResul
400
378
  }
401
379
 
402
380
  function open_session(callback) {
403
-
404
-
405
381
  if (the_session !== null) {
406
382
  log(" a session exists already ! use closeSession First");
407
383
  return callback();
408
-
409
384
  } else {
410
-
411
385
  client.requestedSessionTimeout = sessionTimeout;
412
- client.createSession(function(err, session) {
386
+ client.createSession(function (err, session) {
413
387
  if (err) {
414
388
  log(chalk.red("Error : "), err);
415
389
  } else {
416
-
417
390
  the_session = session;
418
391
  log("session created ", session.sessionId.toString());
419
392
  proxyManager = new UAProxyManager(the_session);
@@ -424,11 +397,10 @@ function open_session(callback) {
424
397
  assert(!crawler);
425
398
 
426
399
  rl.prompt(the_prompt);
427
-
428
400
  }
429
401
  callback();
430
402
  });
431
- client.on("close", function() {
403
+ client.on("close", function () {
432
404
  log(chalk.red(" Server has disconnected "));
433
405
  the_session = null;
434
406
  crawler = null;
@@ -437,8 +409,8 @@ function open_session(callback) {
437
409
  }
438
410
 
439
411
  function close_session(outer_callback) {
440
- apply_on_valid_session("closeSession", function(session, inner_callback) {
441
- session.close(function(err) {
412
+ apply_on_valid_session("closeSession", function (session, inner_callback) {
413
+ session.close(function (err) {
442
414
  the_session = null;
443
415
  crawler = null;
444
416
  if (!outer_callback) {
@@ -474,7 +446,7 @@ function process_line(line) {
474
446
  }
475
447
  switch (cmd) {
476
448
  case "debug":
477
- const flag = (!args[1]) ? true : (["ON", "TRUE", "1"].indexOf(args[1].toUpperCase()) >= 0);
449
+ const flag = !args[1] ? true : ["ON", "TRUE", "1"].indexOf(args[1].toUpperCase()) >= 0;
478
450
  set_debug(flag);
479
451
  break;
480
452
  case "open":
@@ -489,10 +461,8 @@ function process_line(line) {
489
461
  log(" hostname : ", chalk.yellow(hostname || "<null>"));
490
462
  log(" port : ", chalk.yellow(port.toString()));
491
463
 
492
- apply_command(cmd, function(callback) {
493
-
494
-
495
- client.connect(endpointUrl, function(err) {
464
+ apply_command(cmd, function (callback) {
465
+ client.connect(endpointUrl, function (err) {
496
466
  if (err) {
497
467
  log("client connected err=", err);
498
468
  } else {
@@ -500,8 +470,7 @@ function process_line(line) {
500
470
 
501
471
  add_endpoint_to_history(endpointUrl);
502
472
 
503
- save_history(function() {
504
- });
473
+ save_history(function () {});
505
474
  }
506
475
  callback(err);
507
476
  });
@@ -510,8 +479,8 @@ function process_line(line) {
510
479
 
511
480
  case "fs":
512
481
  case "FindServers":
513
- apply_command(cmd, function(callback) {
514
- client.findServers({}, function(err, data) {
482
+ apply_command(cmd, function (callback) {
483
+ client.findServers({}, function (err, data) {
515
484
  const { servers, endpoints } = data;
516
485
  if (err) {
517
486
  log(err.message);
@@ -523,8 +492,8 @@ function process_line(line) {
523
492
  break;
524
493
  case "gep":
525
494
  case "getEndpoints":
526
- apply_command(cmd, function(callback) {
527
- client.getEndpoints(function(err, endpoints) {
495
+ apply_command(cmd, function (callback) {
496
+ client.getEndpoints(function (err, endpoints) {
528
497
  if (err) {
529
498
  log(err.message);
530
499
  }
@@ -541,19 +510,19 @@ function process_line(line) {
541
510
  break;
542
511
 
543
512
  case "closeSession":
544
- close_session(function() { });
513
+ close_session(function () {});
545
514
  break;
546
515
 
547
516
  case "disconnect":
548
517
  if (the_session) {
549
- close_session(function(callback) {
550
- client.disconnect(function() {
518
+ close_session(function (callback) {
519
+ client.disconnect(function () {
551
520
  rl.write("client disconnected");
552
521
  callback();
553
522
  });
554
523
  });
555
524
  } else {
556
- client.disconnect(function() {
525
+ client.disconnect(function () {
557
526
  rl.write("client disconnected");
558
527
  });
559
528
  }
@@ -561,19 +530,15 @@ function process_line(line) {
561
530
 
562
531
  case "b":
563
532
  case "browse":
564
- apply_on_valid_session(cmd, function(the_session, callback) {
565
-
533
+ apply_on_valid_session(cmd, function (the_session, callback) {
566
534
  nodes = [args[1]];
567
535
 
568
- the_session.browse(nodes, function(err, nodeResults) {
569
-
536
+ the_session.browse(nodes, function (err, nodeResults) {
570
537
  if (err) {
571
538
  log(err);
572
539
  log(nodeResults);
573
540
  } else {
574
-
575
- save_history(function() {
576
- });
541
+ save_history(function () {});
577
542
 
578
543
  for (let i = 0; i < nodeResults.length; i++) {
579
544
  log("Node: ", nodes[i]);
@@ -583,70 +548,74 @@ function process_line(line) {
583
548
  }
584
549
  callback();
585
550
  });
586
-
587
551
  });
588
552
 
589
553
  break;
590
554
 
591
555
  case "rootFolder":
592
-
593
- apply_on_valid_session(cmd, function(the_session, callback) {
594
-
556
+ apply_on_valid_session(cmd, function (the_session, callback) {
595
557
  get_root_folder(callback);
596
558
  });
597
559
  break;
598
560
 
599
561
  case "hr":
600
562
  case "readHistoryValue":
601
- apply_on_valid_session(cmd, function(the_session, callback) {
602
-
563
+ apply_on_valid_session(cmd, function (the_session, callback) {
603
564
  // example:
604
565
  // hr ns=2;s=Demo.History.DoubleWithHistory 13:45 13:59
605
566
  nodes = [args[1]];
606
567
 
607
- let startTime = toDate(args[2]);// "2015-06-10T09:00:00.000Z"
608
- let endTime = toDate(args[3]); // "2015-06-10T09:01:00.000Z"
568
+ let startTime = toDate(args[2]); // "2015-06-10T09:00:00.000Z"
569
+ let endTime = toDate(args[3]); // "2015-06-10T09:01:00.000Z"
609
570
  if (startTime > endTime) {
610
- const tmp = endTime; endTime = startTime; startTime = tmp;
571
+ const tmp = endTime;
572
+ endTime = startTime;
573
+ startTime = tmp;
611
574
  }
612
575
  nodes = nodes.map(opcua.coerceNodeId);
613
576
 
614
- the_session.readHistoryValue(nodes, startTime, endTime, function(err, historyReadResults) {
577
+ the_session.readHistoryValue(nodes, startTime, endTime, function (err, historyReadResults) {
615
578
  if (err) {
616
579
  log(err);
617
580
  log(historyReadResults.toString());
618
581
  } else {
619
- save_history(function() { });
582
+ save_history(function () {});
620
583
  assert(historyReadResults.length === 1);
621
- dump_historyDataValues({
622
- nodeId: nodes[0],
623
- attributeId: 13
624
- }, startTime, endTime, historyReadResults[0]);
584
+ dump_historyDataValues(
585
+ {
586
+ nodeId: nodes[0],
587
+ attributeId: 13
588
+ },
589
+ startTime,
590
+ endTime,
591
+ historyReadResults[0]
592
+ );
625
593
  }
626
594
  callback();
627
-
628
595
  });
629
-
630
596
  });
631
597
  break;
632
598
  case "r":
633
599
  case "read":
634
- apply_on_valid_session(cmd, function(the_session, callback) {
635
-
600
+ apply_on_valid_session(cmd, function (the_session, callback) {
636
601
  nodes = [args[1]];
637
602
  nodes = nodes.map(opcua.coerceNodeId);
638
603
 
639
- the_session.readVariableValue(nodes, function(err, dataValues) {
604
+ the_session.readVariableValue(nodes, function (err, dataValues) {
640
605
  if (err) {
641
606
  log(err);
642
607
  log(dataValues);
643
608
  } else {
644
- save_history(function() {
645
- });
646
- dump_dataValues([{
647
- nodeId: nodes[0],
648
- attributeId: 13
649
- }], dataValues);
609
+ save_history(function () {});
610
+ dump_dataValues(
611
+ [
612
+ {
613
+ nodeId: nodes[0],
614
+ attributeId: 13
615
+ }
616
+ ],
617
+ dataValues
618
+ );
650
619
  }
651
620
  callback();
652
621
  });
@@ -654,13 +623,12 @@ function process_line(line) {
654
623
  break;
655
624
  case "ra":
656
625
  case "readall":
657
- apply_on_valid_session(cmd, function(the_session, callback) {
626
+ apply_on_valid_session(cmd, function (the_session, callback) {
658
627
  const node = args[1];
659
628
 
660
- the_session.readAllAttributes(node, function(err, result/*,diagnosticInfos*/) {
629
+ the_session.readAllAttributes(node, function (err, result /*,diagnosticInfos*/) {
661
630
  if (!err) {
662
- save_history(function() {
663
- });
631
+ save_history(function () {});
664
632
  console.log(result);
665
633
  //xx dump_dataValues(nodesToRead, dataValues);
666
634
  }
@@ -670,10 +638,9 @@ function process_line(line) {
670
638
  break;
671
639
 
672
640
  case "tb":
673
- apply_on_valid_session(cmd, function(the_session, callback) {
674
-
641
+ apply_on_valid_session(cmd, function (the_session, callback) {
675
642
  const path = args[1];
676
- the_session.translateBrowsePath(path, function(err, results) {
643
+ the_session.translateBrowsePath(path, function (err, results) {
677
644
  if (err) {
678
645
  log(err.message);
679
646
  }
@@ -686,24 +653,22 @@ function process_line(line) {
686
653
  break;
687
654
  case "crawl":
688
655
  {
689
- apply_on_valid_session(cmd, function(the_session, callback) {
690
-
656
+ apply_on_valid_session(cmd, function (the_session, callback) {
691
657
  if (!crawler) {
692
658
  crawler = new opcua.NodeCrawler(the_session);
693
- crawler.on("browsed", function(element) {
659
+ crawler.on("browsed", function (element) {
694
660
  // log("->",element.browseName.name,element.nodeId.toString());
695
661
  });
696
-
697
662
  }
698
663
 
699
664
  const nodeId = args[1] || "ObjectsFolder";
700
665
  log("now crawling " + chalk.yellow(nodeId) + " ...please wait...");
701
- crawler.read(nodeId, function(err, obj) {
666
+ crawler.read(nodeId, function (err, obj) {
702
667
  if (!err) {
703
668
  log(" crawling done ");
704
669
  // todo : treeify.asTree performance is *very* slow on large object, replace with better implementation
705
670
  //xx log(treeify.asTree(obj, true));
706
- treeify.asLines(obj, true, true, function(line) {
671
+ treeify.asLines(obj, true, true, function (line) {
707
672
  log(line);
708
673
  });
709
674
  } else {
@@ -717,7 +682,6 @@ function process_line(line) {
717
682
  break;
718
683
 
719
684
  case ".info":
720
-
721
685
  log(" bytesRead ", client.bytesRead, " bytes");
722
686
  log(" bytesWritten ", client.bytesWritten, " bytes");
723
687
  log("transactionsPerformed ", client.transactionsPerformed, "");
@@ -738,13 +702,11 @@ function process_line(line) {
738
702
  }
739
703
  }
740
704
 
741
- rl.on("line", function(line) {
742
-
705
+ rl.on("line", function (line) {
743
706
  try {
744
707
  process_line(line);
745
708
  rl.prompt();
746
- }
747
- catch (err) {
709
+ } catch (err) {
748
710
  log(chalk.red("------------------------------------------------"));
749
711
  log(chalk.bgRed.yellow.bold(err.message));
750
712
  log(err.stack);
@@ -752,7 +714,3 @@ rl.on("line", function(line) {
752
714
  rl.resume();
753
715
  }
754
716
  });
755
-
756
-
757
-
758
-
@@ -17,7 +17,7 @@ Error.stackTraceLimit = Infinity;
17
17
 
18
18
  const port = 26544;
19
19
 
20
- import envPaths = require("env-paths");
20
+ import envPaths from "env-paths";
21
21
  const config = envPaths("MiniNodeOPCUA-Server").config;
22
22
  const pkiFolder = path.join(config, "PKI");
23
23
 
@@ -3,19 +3,17 @@
3
3
  const net = require("net");
4
4
 
5
5
  const chalk = require("chalk");
6
-
7
- const argv = require("yargs")
8
- .usage("Usage: $0 --portServer [num] --port [num] --hostname <hostname> -block")
9
- .argv;
6
+ const yargs = require("yargs");
7
+ const argv = yargs.usage("Usage: $0 --portServer [num] --port [num] --hostname <hostname> -block").argv;
10
8
 
11
9
  const opcua = require("node-opcua");
12
10
 
13
- const hexDump = require("node-opcua-utils").hexDump;
14
- const MessageBuilder = require("../lib/misc/message_builder").MessageBuilder;
15
- const BinaryStream = require("../lib/misc/binaryStream").BinaryStream;
11
+ const { hexDump } = require("node-opcua-utils");
12
+ const { MessageBuilder } = require("../lib/misc/message_builder");
13
+ const { BinaryStream } = require("../lib/misc/binaryStream");
16
14
 
17
- const analyseExtensionObject = require("../lib/misc/analyzePacket").analyseExtensionObject;
18
- const messageHeaderToString = require("../lib/misc/message_header").messageHeaderToString;
15
+ const { analyseExtensionObject } = require("../lib/misc/analyzePacket");
16
+ const { messageHeaderToString } = require("../lib/misc/message_header");
19
17
 
20
18
  const s = require("../lib/datamodel/structures");
21
19
 
@@ -24,14 +22,11 @@ const hostname = argv.hostname || "localhost";
24
22
 
25
23
  const my_port = parseInt(argv.portServer, 10) || remote_port + 1;
26
24
 
27
-
28
25
  const TrafficAnalyser = function (id) {
29
26
  this.id = id;
30
27
  };
31
28
 
32
-
33
29
  TrafficAnalyser.prototype.add = function (data) {
34
-
35
30
  const stream = new BinaryStream(data);
36
31
  if (argv.block) {
37
32
  console.log(hexDump(data));
@@ -40,7 +35,6 @@ TrafficAnalyser.prototype.add = function (data) {
40
35
  const messageHeader = opcua.readMessageHeader(stream);
41
36
 
42
37
  if (messageHeader.msgType === "ERR") {
43
-
44
38
  const err = new s.TCPErrorMessage();
45
39
  err.decode(stream);
46
40
  console.log(" Error 0x" + err.statusCode.toString() + " reason:" + err.reason);
@@ -49,20 +43,16 @@ TrafficAnalyser.prototype.add = function (data) {
49
43
 
50
44
  const messageBuild = new MessageBuilder();
51
45
  messageBuild.on("full_message_body", function (full_message_body) {
52
-
53
46
  console.log(hexDump(full_message_body));
54
47
 
55
48
  try {
56
49
  analyseExtensionObject(full_message_body);
57
- }
58
- catch (err) {
50
+ } catch (err) {
59
51
  console.log(chalk.red("ERROR : "), err);
60
52
  }
61
53
  });
62
54
 
63
-
64
55
  switch (messageHeader.msgType) {
65
-
66
56
  case "HEL":
67
57
  case "ACK":
68
58
  if (this.id % 2) {
@@ -75,7 +65,7 @@ TrafficAnalyser.prototype.add = function (data) {
75
65
  case "OPN": // open secure channel
76
66
  case "CLO": // close secure channel
77
67
  case "MSG": // message
78
- // decode secure message
68
+ // decode secure message
79
69
  if (this.id % 2) {
80
70
  console.log(chalk.red.bold(messageHeaderToString(data)));
81
71
  } else {
@@ -89,47 +79,44 @@ TrafficAnalyser.prototype.add = function (data) {
89
79
  break;
90
80
  default:
91
81
  break;
92
-
93
82
  }
94
-
95
83
  };
96
84
 
85
+ require("net")
86
+ .createServer(function (socket) {
87
+ console.log("connected");
88
+ const ta_client = new TrafficAnalyser(1);
97
89
 
98
- require("net").createServer(function (socket) {
99
-
100
- console.log("connected");
101
- const ta_client = new TrafficAnalyser(1);
90
+ const ta_server = new TrafficAnalyser(2);
102
91
 
103
- const ta_server = new TrafficAnalyser(2);
92
+ const proxy_client = new net.Socket();
93
+ proxy_client.connect(remote_port, hostname);
104
94
 
105
- const proxy_client = new net.Socket();
106
- proxy_client.connect(remote_port, hostname);
107
-
108
- proxy_client.on("data", function (data) {
109
- console.log(" server -> client : packet length " + data.length);
110
- ta_server.add(data);
111
- try {
112
- socket.write(data);
113
- } catch (err) {
114
- /** */
115
- }
116
- });
117
-
118
- socket.on("data", function (data) {
119
- console.log(" client -> server : packet length " + data.length);
120
- ta_client.add(data);
121
- proxy_client.write(data);
122
- });
123
- socket.on("close", function () {
124
- console.log("server disconnected (CLOSE)");
125
- proxy_client.end();
126
- });
127
-
128
- socket.on("end", function () {
129
- console.log("server disconnected (END)");
130
- });
131
-
132
- }).listen(my_port);
95
+ proxy_client.on("data", function (data) {
96
+ console.log(" server -> client : packet length " + data.length);
97
+ ta_server.add(data);
98
+ try {
99
+ socket.write(data);
100
+ } catch (err) {
101
+ /** */
102
+ }
103
+ });
104
+
105
+ socket.on("data", function (data) {
106
+ console.log(" client -> server : packet length " + data.length);
107
+ ta_client.add(data);
108
+ proxy_client.write(data);
109
+ });
110
+ socket.on("close", function () {
111
+ console.log("server disconnected (CLOSE)");
112
+ proxy_client.end();
113
+ });
114
+
115
+ socket.on("end", function () {
116
+ console.log("server disconnected (END)");
117
+ });
118
+ })
119
+ .listen(my_port);
133
120
 
134
121
  console.log(" registering OPCUA server on port " + my_port);
135
122
  console.log(" +-> redirecting conversation to server port " + remote_port);
@@ -11,7 +11,7 @@ import * as yargs from "yargs";
11
11
 
12
12
  const rootFolder = path.join(__dirname, "../../..");
13
13
 
14
- import envPaths = require("env-paths");
14
+ import envPaths from "env-paths";
15
15
  const config = envPaths("node-opcua-default").config;
16
16
  const pkiFolder = path.join(config, "PKI");
17
17
 
@@ -230,8 +230,7 @@ const paths = envPaths(productUri);
230
230
  server_options.alternateHostname = argv.alternateHostname;
231
231
  const server = new OPCUAServer(server_options);
232
232
 
233
- const hostname = require("os").hostname();
234
-
233
+
235
234
  await server.initialize();
236
235
 
237
236
  function post_initialize() {
@@ -16,8 +16,8 @@ const chalk = require("chalk");
16
16
  const node_opcua_1 = require("node-opcua");
17
17
  Error.stackTraceLimit = Infinity;
18
18
  const port = 26544;
19
- const envPaths = require("env-paths");
20
- const config = envPaths("MiniNodeOPCUA-Server").config;
19
+ const env_paths_1 = require("env-paths");
20
+ const config = (0, env_paths_1.default)("MiniNodeOPCUA-Server").config;
21
21
  const pkiFolder = path.join(config, "PKI");
22
22
  const serverOptions = {
23
23
  serverCertificateManager: new node_opcua_1.OPCUACertificateManager({
@@ -1 +1 @@
1
- {"version":3,"file":"mini_server.js","sourceRoot":"","sources":["../bin/mini_server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mini_server.js","sourceRoot":"","sources":["../bin/mini_server.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAA4B;AAC5B,6BAA6B;AAC7B,yBAAyB;AAEzB,+BAA+B;AAE/B,2CAQoB;AACpB,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,IAAI,GAAG,KAAK,CAAC;AAEnB,yCAAiC;AACjC,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC;AACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE3C,MAAM,aAAa,GAAuB;IACtC,wBAAwB,EAAE,IAAI,oCAAuB,CAAC;QAClD,UAAU,EAAE,SAAS;KACxB,CAAC;IAEF,IAAI;IAEJ,yBAAyB,EAAE,CAAC;IAE5B,gBAAgB,EAAE,CAAC,IAAA,sCAAyB,GAAE,CAAC;IAE/C,UAAU,EAAE;QACR,cAAc,EAAE,IAAA,+BAAkB,EAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,sBAAsB,CAAC;QACzE,UAAU,EAAE,uBAAuB;QAEnC,eAAe,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE;QAChE,gBAAgB,EAAE,IAAI;QAEtB,mBAAmB,EAAE,IAAI;QAEzB,aAAa,EAAE,EAAE;KACpB;IAED,SAAS,EAAE;QACP,WAAW,EAAE,MAAM;KACtB;IAED,kBAAkB,EAAE;QAChB,WAAW,EAAE,EAAE;QAEf,2BAA2B,EAAE,EAAE;QAC/B,4BAA4B,EAAE,EAAE;QAChC,sBAAsB;QACtB,eAAe,EAAE;YACb,iBAAiB,EAAE,EAAE;YACrB,0BAA0B,EAAE,CAAC;YAC7B,4BAA4B,EAAE,EAAE;YAChC,4BAA4B,EAAE,EAAE;YAChC,eAAe,EAAE,EAAE;YACnB,gBAAgB,EAAE,EAAE;SACvB;KACJ;IAED,UAAU,EAAE,KAAK;CACpB,CAAC;AAEF,SAAe,IAAI;;QACf,OAAO,CAAC,KAAK,GAAG,8BAA8B,GAAG,aAAa,CAAC,IAAI,CAAC;QAEpE,MAAM,MAAM,GAAG,IAAI,wBAAW,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAElE,IAAI;YACA,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAG,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAEpF,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAsB,EAAE,EAAE;YACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,iBAAkB,CAAC,cAAc,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,iBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,iBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,iBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAsB,EAAE,MAAc,EAAE,EAAE;YACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
@@ -19,8 +19,8 @@ const node_opcua_pki_1 = require("node-opcua-pki");
19
19
  const node_opcua_server_configuration_1 = require("node-opcua-server-configuration");
20
20
  const yargs = require("yargs");
21
21
  const rootFolder = path.join(__dirname, "../../..");
22
- const envPaths = require("env-paths");
23
- const config = envPaths("node-opcua-default").config;
22
+ const env_paths_1 = require("env-paths");
23
+ const config = (0, env_paths_1.default)("node-opcua-default").config;
24
24
  const pkiFolder = path.join(config, "PKI");
25
25
  const certificateManager = new node_opcua_1.OPCUACertificateManager({
26
26
  automaticallyAcceptUnknownCertificate: true,
@@ -1 +1 @@
1
- {"version":3,"file":"server_with_push_certificate.js","sourceRoot":"","sources":["../bin/server_with_push_certificate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_with_push_certificate.js","sourceRoot":"","sources":["../bin/server_with_push_certificate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-samples",
3
- "version": "2.75.0",
3
+ "version": "2.76.2",
4
4
  "description": "pure nodejs OPCUA SDK - module -samples",
5
5
  "bin": {
6
6
  "simple_client": "./dist/simple_client_ts.js",
@@ -17,13 +17,18 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@types/underscore": "^1.11.4",
20
- "@types/yargs": "17.0.10",
20
+ "@types/yargs": "17.0.12",
21
+ "chalk": "4.1.2",
21
22
  "easy-table": "^1.2.0",
23
+ "env-paths": "2.2.1",
22
24
  "exit": "^0.1.2",
23
- "node-opcua": "2.75.0",
24
- "node-opcua-assert": "2.74.0",
25
+ "node-opcua": "2.76.2",
26
+ "node-opcua-address-space": "2.76.2",
27
+ "node-opcua-assert": "2.76.0",
28
+ "node-opcua-crypto": "^1.11.0",
25
29
  "node-opcua-pki": "^2.17.0",
26
- "node-opcua-server-configuration": "2.75.0",
30
+ "node-opcua-server-configuration": "2.76.2",
31
+ "node-opcua-utils": "2.76.0",
27
32
  "sprintf-js": "^1.1.2",
28
33
  "treeify": "^1.1.0",
29
34
  "underscore": "^1.13.4",
@@ -44,5 +49,5 @@
44
49
  "internet of things"
45
50
  ],
46
51
  "homepage": "http://node-opcua.github.io/",
47
- "gitHead": "5ccb835ca480c2a8a591ae61b5949a9d8bad4017"
52
+ "gitHead": "acb5ecaf1e1c71af3b63e80909d58447f3f298e7"
48
53
  }