node-opcua-server-discovery 2.51.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/LICENSE +20 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/mdns_responder.d.ts +13 -0
- package/dist/mdns_responder.js +106 -0
- package/dist/mdns_responder.js.map +1 -0
- package/dist/opcua_discovery_server.d.ts +29 -0
- package/dist/opcua_discovery_server.js +439 -0
- package/dist/opcua_discovery_server.js.map +1 -0
- package/package.json +45 -0
- package/source/index.ts +4 -0
- package/source/mdns_responder.ts +136 -0
- package/source/opcua_discovery_server.ts +564 -0
- package/test_helpers/create_certificates.js +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opcua_discovery_server.js","sourceRoot":"","sources":["../source/opcua_discovery_server.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "node-opcua-server-discovery",
|
|
3
|
+
"version": "2.51.0",
|
|
4
|
+
"description": "pure nodejs OPCUA SDK - module -server-discovery",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "tsc -b",
|
|
7
|
+
"clean": "node -e \"require('rimraf').sync('dist');\"",
|
|
8
|
+
"test": "echo no test here : see node-opcua-end-to-end"
|
|
9
|
+
},
|
|
10
|
+
"main": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@types/bonjour": "^3.5.9",
|
|
14
|
+
"bonjour": "^3.5.0",
|
|
15
|
+
"node-opcua-assert": "2.51.0",
|
|
16
|
+
"node-opcua-basic-types": "2.51.0",
|
|
17
|
+
"node-opcua-certificate-manager": "2.51.0",
|
|
18
|
+
"node-opcua-common": "2.51.0",
|
|
19
|
+
"node-opcua-debug": "2.51.0",
|
|
20
|
+
"node-opcua-hostname": "2.51.0",
|
|
21
|
+
"node-opcua-object-registry": "2.51.0",
|
|
22
|
+
"node-opcua-pki": "^2.12.0",
|
|
23
|
+
"node-opcua-secure-channel": "2.51.0",
|
|
24
|
+
"node-opcua-server": "2.51.0",
|
|
25
|
+
"node-opcua-service-discovery": "2.51.0",
|
|
26
|
+
"node-opcua-service-endpoints": "2.51.0",
|
|
27
|
+
"node-opcua-status-code": "2.51.0"
|
|
28
|
+
},
|
|
29
|
+
"author": "Etienne Rossignon",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git://github.com/node-opcua/node-opcua.git"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"OPCUA",
|
|
37
|
+
"opcua",
|
|
38
|
+
"m2m",
|
|
39
|
+
"iot",
|
|
40
|
+
"opc ua",
|
|
41
|
+
"internet of things"
|
|
42
|
+
],
|
|
43
|
+
"homepage": "http://node-opcua.github.io/",
|
|
44
|
+
"gitHead": "75feb111daf7ec65fa0111e4fa5beb8987fd4945"
|
|
45
|
+
}
|
package/source/index.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-server-discovery
|
|
3
|
+
*/
|
|
4
|
+
import * as bonjour from "bonjour";
|
|
5
|
+
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
6
|
+
import { ObjectRegistry } from "node-opcua-object-registry";
|
|
7
|
+
import { acquireBonjour, releaseBonjour, ServerOnNetwork } from "node-opcua-service-discovery";
|
|
8
|
+
|
|
9
|
+
const debugLog = make_debugLog(__filename);
|
|
10
|
+
const doDebug = checkDebugFlag(__filename) || true;
|
|
11
|
+
|
|
12
|
+
const registry = new ObjectRegistry();
|
|
13
|
+
|
|
14
|
+
export class MDNSResponder {
|
|
15
|
+
/**
|
|
16
|
+
* the list of servers that have been activated as mDNS service
|
|
17
|
+
*/
|
|
18
|
+
public registeredServers: ServerOnNetwork[];
|
|
19
|
+
|
|
20
|
+
private multicastDNS: bonjour.Bonjour;
|
|
21
|
+
private recordId: number;
|
|
22
|
+
private responder: any;
|
|
23
|
+
private lastUpdateDate: Date = new Date();
|
|
24
|
+
|
|
25
|
+
constructor() {
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
registry.register(this);
|
|
29
|
+
|
|
30
|
+
this.registeredServers = [];
|
|
31
|
+
|
|
32
|
+
this.multicastDNS = acquireBonjour();
|
|
33
|
+
this.recordId = 0;
|
|
34
|
+
|
|
35
|
+
this.responder = this.multicastDNS.find({
|
|
36
|
+
protocol: "tcp",
|
|
37
|
+
type: "opcua-tcp"
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const findServiceIndex = (serverName: string) => {
|
|
41
|
+
const index = this.registeredServers.findIndex((server: ServerOnNetwork) => server.serverName === serverName);
|
|
42
|
+
return index;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const addService = (service: bonjour.Service) => {
|
|
46
|
+
if (doDebug) {
|
|
47
|
+
debugLog("adding server ", service.name, "port =", service.port);
|
|
48
|
+
}
|
|
49
|
+
// example:
|
|
50
|
+
// {
|
|
51
|
+
// addresses: [ '172.18.207.145', 'fe80::d4e3:352c:9f8b:d0db' ],
|
|
52
|
+
// rawTxt: <Buffer 05 70 61 74 68 3d 08 63 61 70 73 3d 4c 44 53>,
|
|
53
|
+
// txt: { path: '', caps: 'LDS' },
|
|
54
|
+
// name: 'UA Local Discovery Server on STERFIVEPC2',
|
|
55
|
+
// fqdn: 'UA Local Discovery Server on STERFIVEPC2._opcua-tcp._tcp.local',
|
|
56
|
+
// host: 'STERFIVEPC2.local',
|
|
57
|
+
// referer:
|
|
58
|
+
// {
|
|
59
|
+
// address: '172.18.207.145',
|
|
60
|
+
// family: 'IPv4',
|
|
61
|
+
// port: 5353,
|
|
62
|
+
// size: 363
|
|
63
|
+
// },
|
|
64
|
+
// port: 4840,
|
|
65
|
+
// type: 'opcua-tcp',
|
|
66
|
+
// protocol: 'tcp',
|
|
67
|
+
// subtypes: []
|
|
68
|
+
// },
|
|
69
|
+
|
|
70
|
+
const existingIndex = findServiceIndex(service.name);
|
|
71
|
+
if (existingIndex >= 0) {
|
|
72
|
+
debugLog("Ignoring existing server ", service.name);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
this.recordId++;
|
|
77
|
+
const recordId = this.recordId;
|
|
78
|
+
const serverName = service.name;
|
|
79
|
+
|
|
80
|
+
service.txt = service.txt || {};
|
|
81
|
+
const service_txt = service.txt as any;
|
|
82
|
+
service_txt.caps = service_txt.caps || "";
|
|
83
|
+
const serverCapabilities = service_txt.caps
|
|
84
|
+
.split(",")
|
|
85
|
+
.map((x: string) => x.toUpperCase())
|
|
86
|
+
.sort();
|
|
87
|
+
|
|
88
|
+
const path = service_txt.path || "";
|
|
89
|
+
const discoveryUrl = "opc.tcp://" + service.host + ":" + service.port + path;
|
|
90
|
+
|
|
91
|
+
this.registeredServers.push(
|
|
92
|
+
new ServerOnNetwork({
|
|
93
|
+
discoveryUrl,
|
|
94
|
+
recordId,
|
|
95
|
+
serverCapabilities,
|
|
96
|
+
serverName
|
|
97
|
+
})
|
|
98
|
+
);
|
|
99
|
+
this.lastUpdateDate = new Date(Date.now());
|
|
100
|
+
|
|
101
|
+
debugLog("a new OPCUA server has been registered on mDNS", service.name, recordId);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const removeService = (service: bonjour.Service) => {
|
|
105
|
+
const serverName = service.name;
|
|
106
|
+
debugLog("a OPCUA server has been unregistered in mDNS", serverName);
|
|
107
|
+
const index = findServiceIndex(serverName);
|
|
108
|
+
if (index === -1) {
|
|
109
|
+
debugLog("Cannot find server with name ", serverName, " in registeredServers");
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
this.registeredServers.splice(index, 1); // remove element at index
|
|
113
|
+
this.lastUpdateDate = new Date();
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
this.responder.on("up", (service: bonjour.Service) => {
|
|
117
|
+
if (doDebug) {
|
|
118
|
+
debugLog("service is up with ", service.fqdn);
|
|
119
|
+
}
|
|
120
|
+
addService(service);
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
this.responder.on("down", (service: bonjour.Service) => {
|
|
124
|
+
if (doDebug) {
|
|
125
|
+
debugLog("service is down with ", service.fqdn);
|
|
126
|
+
}
|
|
127
|
+
removeService(service);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public dispose() {
|
|
132
|
+
delete (this as any).multicastDNS;
|
|
133
|
+
registry.unregister(this);
|
|
134
|
+
releaseBonjour();
|
|
135
|
+
}
|
|
136
|
+
}
|