node-opcua-samples 2.97.0 → 2.98.0
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/dist/simple_client_ts.js +661 -661
- package/package.json +10 -10
- package/dist/get_endpoints.d.ts +0 -2
- package/dist/get_endpoints.js +0 -142
- package/dist/get_endpoints.js.map +0 -1
- package/dist/mini_server.d.ts +0 -1
- package/dist/mini_server.js +0 -89
- package/dist/mini_server.js.map +0 -1
- package/dist/server_with_changing_password.d.ts +0 -1
- package/dist/server_with_changing_password.js +0 -101
- package/dist/server_with_changing_password.js.map +0 -1
- package/dist/server_with_push_certificate.d.ts +0 -2
- package/dist/server_with_push_certificate.js +0 -112
- package/dist/server_with_push_certificate.js.map +0 -1
- package/dist/simple_client_ts.d.ts +0 -2
- package/dist/simple_client_ts.js.map +0 -1
- package/dist/simple_findservers.d.ts +0 -2
- package/dist/simple_findservers.js +0 -49
- package/dist/simple_findservers.js.map +0 -1
- package/dist/simple_secure_server.d.ts +0 -2
- package/dist/simple_secure_server.js +0 -126
- package/dist/simple_secure_server.js.map +0 -1
- package/dist/simple_server_with_custom_extension_objects.d.ts +0 -2
- package/dist/simple_server_with_custom_extension_objects.js +0 -82
- package/dist/simple_server_with_custom_extension_objects.js.map +0 -1
- package/dist/stressing_client.d.ts +0 -1
- package/dist/stressing_client.js +0 -37
- package/dist/stressing_client.js.map +0 -1
- package/dist/tiny_client.d.ts +0 -1
- package/dist/tiny_client.js +0 -33
- package/dist/tiny_client.js.map +0 -1
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ts-node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
// tslint:disable:no-console
|
|
14
|
-
// this script queries the discovery server and display the discovery urls
|
|
15
|
-
const chalk = require("chalk");
|
|
16
|
-
const node_opcua_1 = require("node-opcua");
|
|
17
|
-
function main() {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
const discovery_server_endpointUrl = "opc.tcp://localhost:4840/UADiscovery";
|
|
20
|
-
console.log("Interrogating ", discovery_server_endpointUrl);
|
|
21
|
-
try {
|
|
22
|
-
const { servers, endpoints } = yield (0, node_opcua_1.findServers)(discovery_server_endpointUrl);
|
|
23
|
-
for (const server of servers) {
|
|
24
|
-
console.log(" applicationUri:", chalk.cyan.bold(server.applicationUri));
|
|
25
|
-
console.log(" productUri:", chalk.cyan.bold(server.productUri));
|
|
26
|
-
console.log(" applicationName:", chalk.cyan.bold(server.applicationName.text));
|
|
27
|
-
console.log(" type:", chalk.cyan.bold(node_opcua_1.ApplicationType[server.applicationType]));
|
|
28
|
-
console.log(" gatewayServerUri:", server.gatewayServerUri ? chalk.cyan.bold(server.gatewayServerUri) : "");
|
|
29
|
-
console.log("discoveryProfileUri:", server.discoveryProfileUri ? chalk.cyan.bold(server.discoveryProfileUri) : "");
|
|
30
|
-
console.log(" discoveryUrls:");
|
|
31
|
-
for (const discoveryUrl of server.discoveryUrls) {
|
|
32
|
-
console.log(" " + chalk.cyan.bold(discoveryUrl));
|
|
33
|
-
}
|
|
34
|
-
console.log("-------------");
|
|
35
|
-
}
|
|
36
|
-
for (const endpoint of endpoints) {
|
|
37
|
-
console.log(endpoint.endpointUrl.toString(), endpoint.securityLevel, endpoint.securityPolicyUri, node_opcua_1.MessageSecurityMode[endpoint.securityMode]);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
if (err instanceof Error) {
|
|
42
|
-
console.log("err ", err.message);
|
|
43
|
-
}
|
|
44
|
-
process.exit(-2);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
main();
|
|
49
|
-
//# sourceMappingURL=simple_findservers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple_findservers.js","sourceRoot":"","sources":["../bin/simple_findservers.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4BAA4B;AAC5B,0EAA0E;AAC1E,+BAA+B;AAC/B,2CAA+E;AAE/E,SAAe,IAAI;;QACf,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;QAE5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;QAE5D,IAAI;YACA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,wBAAW,EAAC,4BAA4B,CAAC,CAAC;YAC/E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAe,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC;gBACzE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAgB,CAAC,IAAK,CAAC,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC9F,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7G,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAEpC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,aAAc,EAAE;oBAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC,CAAC;iBACxE;gBACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aAChC;YAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,OAAO,CAAC,GAAG,CACP,QAAQ,CAAC,WAAY,CAAC,QAAQ,EAAE,EAChC,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,iBAAiB,EAC1B,gCAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC7C,CAAC;aACL;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;aACpC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;IACL,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ts-node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
/* eslint no-process-exit: 0 */
|
|
14
|
-
// tslint:disable:no-console
|
|
15
|
-
const path = require("path");
|
|
16
|
-
const os = require("os");
|
|
17
|
-
const chalk = require("chalk");
|
|
18
|
-
const yargs = require("yargs");
|
|
19
|
-
const node_opcua_1 = require("node-opcua");
|
|
20
|
-
Error.stackTraceLimit = Infinity;
|
|
21
|
-
function constructFilename(filename) {
|
|
22
|
-
return path.join(__dirname, "../", filename);
|
|
23
|
-
}
|
|
24
|
-
const userManager = {
|
|
25
|
-
isValidUser: (userName, password) => {
|
|
26
|
-
if (userName === "user1" && password === "password1") {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
if (userName === "user2" && password === "password2") {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
function main() {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const argv = yield yargs(process.argv)
|
|
38
|
-
.wrap(132)
|
|
39
|
-
.option("alternateHostname", {
|
|
40
|
-
alias: "a",
|
|
41
|
-
describe: "alternateHostname"
|
|
42
|
-
})
|
|
43
|
-
.option("port", {
|
|
44
|
-
alias: "p",
|
|
45
|
-
default: 26543
|
|
46
|
-
})
|
|
47
|
-
.option("silent", {
|
|
48
|
-
alias: "s",
|
|
49
|
-
default: false,
|
|
50
|
-
describe: "silent - no trace"
|
|
51
|
-
})
|
|
52
|
-
.option("maxSessions", {
|
|
53
|
-
alias: "m",
|
|
54
|
-
default: 10
|
|
55
|
-
})
|
|
56
|
-
.help(true).argv;
|
|
57
|
-
const port = argv.port || 26543;
|
|
58
|
-
// server_options.alternateHostname = argv.alternateHostname;
|
|
59
|
-
const server_options = {
|
|
60
|
-
securityPolicies: [node_opcua_1.SecurityPolicy.Basic128Rsa15, node_opcua_1.SecurityPolicy.Basic256],
|
|
61
|
-
securityModes: [node_opcua_1.MessageSecurityMode.Sign, node_opcua_1.MessageSecurityMode.SignAndEncrypt],
|
|
62
|
-
port,
|
|
63
|
-
nodeset_filename: [node_opcua_1.nodesets.standard, node_opcua_1.nodesets.di],
|
|
64
|
-
serverInfo: {
|
|
65
|
-
applicationName: { text: "NodeOPCUA", locale: "en" },
|
|
66
|
-
applicationUri: (0, node_opcua_1.makeApplicationUrn)(os.hostname(), "NodeOPCUA-SecureServer"),
|
|
67
|
-
productUri: "NodeOPCUA-SecureServer",
|
|
68
|
-
discoveryProfileUri: null,
|
|
69
|
-
discoveryUrls: [],
|
|
70
|
-
gatewayServerUri: null
|
|
71
|
-
},
|
|
72
|
-
buildInfo: {
|
|
73
|
-
buildDate: new Date(),
|
|
74
|
-
buildNumber: "1234"
|
|
75
|
-
},
|
|
76
|
-
serverCapabilities: {
|
|
77
|
-
maxSessions: argv.maxSessions
|
|
78
|
-
},
|
|
79
|
-
maxConnectionsPerEndpoint: argv.maxSessions,
|
|
80
|
-
userManager,
|
|
81
|
-
isAuditing: false
|
|
82
|
-
};
|
|
83
|
-
process.title = "Node OPCUA Server on port : " + server_options.port;
|
|
84
|
-
const server = new node_opcua_1.OPCUAServer(server_options);
|
|
85
|
-
server.on("post_initialize", () => {
|
|
86
|
-
/* empty */
|
|
87
|
-
});
|
|
88
|
-
console.log(chalk.yellow(" server PID :"), process.pid);
|
|
89
|
-
console.log(chalk.yellow(" silent :"), argv.silent);
|
|
90
|
-
yield server.start();
|
|
91
|
-
const endpointUrl = server.getEndpointUrl();
|
|
92
|
-
console.log(chalk.yellow(" server on port :"), chalk.cyan(server.endpoints[0].port.toString()));
|
|
93
|
-
console.log(chalk.yellow(" endpointUrl :"), chalk.cyan(endpointUrl));
|
|
94
|
-
console.log(chalk.yellow("\n server now waiting for connections. CTRL+C to stop"));
|
|
95
|
-
if (argv.silent) {
|
|
96
|
-
console.log("silent");
|
|
97
|
-
console.log = (...args) => {
|
|
98
|
-
/* silent */
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
server.on("create_session", (session) => {
|
|
102
|
-
console.log(" SESSION CREATED");
|
|
103
|
-
console.log(chalk.cyan(" client application URI: "), session.clientDescription.applicationUri);
|
|
104
|
-
console.log(chalk.cyan(" client product URI: "), session.clientDescription.productUri);
|
|
105
|
-
console.log(chalk.cyan(" client application name: "), session.clientDescription.applicationName.toString());
|
|
106
|
-
console.log(chalk.cyan(" client application type: "), session.clientDescription.applicationType.toString());
|
|
107
|
-
console.log(chalk.cyan(" session name: "), session.sessionName ? session.sessionName.toString() : "<null>");
|
|
108
|
-
console.log(chalk.cyan(" session timeout: "), session.sessionTimeout);
|
|
109
|
-
console.log(chalk.cyan(" session id: "), session.nodeId);
|
|
110
|
-
});
|
|
111
|
-
server.on("session_closed", (session, reason) => {
|
|
112
|
-
console.log(" SESSION CLOSED :", reason);
|
|
113
|
-
console.log(chalk.cyan(" session name: "), session.sessionName ? session.sessionName.toString() : "<null>");
|
|
114
|
-
});
|
|
115
|
-
process.on("SIGINT", () => __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
// only work on linux apparently
|
|
117
|
-
console.error(chalk.red.bold(" Received server interruption from user "));
|
|
118
|
-
console.error(chalk.red.bold(" shutting down ..."));
|
|
119
|
-
yield server.shutdown(1000);
|
|
120
|
-
console.error(chalk.red.bold(" shot down ..."));
|
|
121
|
-
process.exit(1);
|
|
122
|
-
}));
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
main();
|
|
126
|
-
//# sourceMappingURL=simple_secure_server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple_secure_server.js","sourceRoot":"","sources":["../bin/simple_secure_server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ts-node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
/* eslint no-process-exit: 0 */
|
|
14
|
-
// tslint:disable:no-console
|
|
15
|
-
const path = require("path");
|
|
16
|
-
const chalk = require("chalk");
|
|
17
|
-
const node_opcua_1 = require("node-opcua");
|
|
18
|
-
const yargs = require("yargs");
|
|
19
|
-
Error.stackTraceLimit = Infinity;
|
|
20
|
-
function constructFilename(filename) {
|
|
21
|
-
return path.join(__dirname, "../", filename);
|
|
22
|
-
}
|
|
23
|
-
const rootFolder = path.join(__dirname, "../../..");
|
|
24
|
-
function main() {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
const argv = yield yargs.wrap(132).option("port", {
|
|
27
|
-
alias: "p",
|
|
28
|
-
default: "26543",
|
|
29
|
-
describe: "port to listen"
|
|
30
|
-
}).argv;
|
|
31
|
-
const port = parseInt(argv.port, 10) || 26555;
|
|
32
|
-
const server_certificate_file = constructFilename("certificates/server_cert_2048.pem");
|
|
33
|
-
const server_certificate_privatekey_file = constructFilename("certificates/server_key_2048.pem");
|
|
34
|
-
const server_options = {
|
|
35
|
-
certificateFile: server_certificate_file,
|
|
36
|
-
privateKeyFile: server_certificate_privatekey_file,
|
|
37
|
-
port,
|
|
38
|
-
nodeset_filename: [node_opcua_1.nodesets.standard, path.join(rootFolder, "modeling/my_data_type.xml")]
|
|
39
|
-
};
|
|
40
|
-
process.title = "Node OPCUA Server on port : " + server_options.port;
|
|
41
|
-
const server = new node_opcua_1.OPCUAServer(server_options);
|
|
42
|
-
console.log(chalk.yellow(" server PID :"), process.pid);
|
|
43
|
-
server.on("post_initialize", () => {
|
|
44
|
-
const addressSpace = server.engine.addressSpace;
|
|
45
|
-
// to do: expose new nodeid here
|
|
46
|
-
const ns = addressSpace.getNamespaceIndex("http://yourorganisation.org/my_data_type/");
|
|
47
|
-
const myStructureType = addressSpace.findVariableType("MyStructureType", ns);
|
|
48
|
-
if (!myStructureType) {
|
|
49
|
-
console.log(" ns = ", ns, "cannot find MyStructureDataType ");
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const namespace = addressSpace.getOwnNamespace();
|
|
53
|
-
const someObject = namespace.addObject({
|
|
54
|
-
browseName: "SomeObject",
|
|
55
|
-
organizedBy: addressSpace.rootFolder.objects
|
|
56
|
-
});
|
|
57
|
-
myStructureType.instantiate({
|
|
58
|
-
browseName: "MyVar",
|
|
59
|
-
componentOf: someObject
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
try {
|
|
63
|
-
yield server.start();
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
console.log(" Server failed to start ... exiting");
|
|
67
|
-
process.exit(-3);
|
|
68
|
-
}
|
|
69
|
-
const endpointUrl = server.getEndpointUrl();
|
|
70
|
-
console.log(chalk.yellow(" server on port :"), chalk.cyan(server.endpoints[0].port.toString()));
|
|
71
|
-
console.log(chalk.yellow(" endpointUrl :"), chalk.cyan(endpointUrl));
|
|
72
|
-
console.log(chalk.yellow("\n server now waiting for connections. CTRL+C to stop"));
|
|
73
|
-
process.on("SIGINT", () => __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
// only work on linux apparently
|
|
75
|
-
yield server.shutdown(1000);
|
|
76
|
-
console.log(chalk.red.bold(" shutting down completed "));
|
|
77
|
-
process.exit(-1);
|
|
78
|
-
}));
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
main();
|
|
82
|
-
//# sourceMappingURL=simple_server_with_custom_extension_objects.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple_server_with_custom_extension_objects.js","sourceRoot":"","sources":["../bin/simple_server_with_custom_extension_objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/stressing_client.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
// tslint:disable:no-console
|
|
13
|
-
const node_opcua_1 = require("node-opcua");
|
|
14
|
-
const endpointUrl = "opc.tcp://localhost:26543";
|
|
15
|
-
function main() {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
let counter = 1;
|
|
18
|
-
while (true) {
|
|
19
|
-
const client = node_opcua_1.OPCUAClient.create({ endpointMustExist: false });
|
|
20
|
-
client.on("backoff", (retryCount, delay) => console.log(" backoff", retryCount, delay));
|
|
21
|
-
try {
|
|
22
|
-
yield client.connect(endpointUrl);
|
|
23
|
-
const session = yield client.createSession();
|
|
24
|
-
yield session.close();
|
|
25
|
-
yield client.disconnect();
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
if (err instanceof Error) {
|
|
29
|
-
console.log("err", err.message);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
console.log(" Connected = ", counter++);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
main();
|
|
37
|
-
//# sourceMappingURL=stressing_client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stressing_client.js","sourceRoot":"","sources":["../bin/stressing_client.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAA4B;AAC5B,2CAAyC;AAEzC,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEhD,SAAe,IAAI;;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,wBAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAkB,EAAE,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAE3G,IAAI;gBACA,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,KAAK,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;iBACnC;aACJ;YAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;SAC3C;IACL,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
|
package/dist/tiny_client.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/tiny_client.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
process.env.NODEOPCUADEBUG = "CLIENT{TRACE};TRANSPORT{CHUNK-HELACK}";
|
|
13
|
-
const node_opcua_1 = require("node-opcua");
|
|
14
|
-
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
const client = node_opcua_1.OPCUAClient.create({
|
|
16
|
-
requestedSessionTimeout: 1000,
|
|
17
|
-
transportSettings: {
|
|
18
|
-
maxChunkCount: 1,
|
|
19
|
-
maxMessageSize: 1 * 8192,
|
|
20
|
-
receiveBufferSize: 8 * 1024,
|
|
21
|
-
sendBufferSize: 8 * 1024
|
|
22
|
-
},
|
|
23
|
-
connectionStrategy: {
|
|
24
|
-
initialDelay: 10,
|
|
25
|
-
maxDelay: 100,
|
|
26
|
-
maxRetry: 2
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
yield client.connect("opc.tcp://localhost:48010");
|
|
30
|
-
// await client.connect("opc.tcp://localhost:53530");
|
|
31
|
-
yield client.disconnect();
|
|
32
|
-
}))();
|
|
33
|
-
//# sourceMappingURL=tiny_client.js.map
|
package/dist/tiny_client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tiny_client.js","sourceRoot":"","sources":["../bin/tiny_client.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,uCAAuC,CAAC;AACrE,2CAAyC;AAEzC,CAAC,GAAS,EAAE;IACR,MAAM,MAAM,GAAG,wBAAW,CAAC,MAAM,CAAC;QAC9B,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE;YACf,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC,GAAG,IAAI;YACxB,iBAAiB,EAAE,CAAC,GAAG,IAAI;YAC3B,cAAc,EAAE,CAAC,GAAG,IAAI;SAC3B;QACD,kBAAkB,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,CAAC;SACd;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClD,qDAAqD;IAErD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAA,CAAC,EAAE,CAAC"}
|