@react-native-ohos/react-native-tcp-socket 6.3.1-rc.3 → 6.3.1

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.
Files changed (60) hide show
  1. package/LICENSE +21 -21
  2. package/README.OpenSource +10 -10
  3. package/README.md +12 -12
  4. package/harmony/tcp_socket/BuildProfile.ets +16 -16
  5. package/harmony/tcp_socket/Index.ets +5 -5
  6. package/harmony/tcp_socket/build-profile.json5 +31 -31
  7. package/harmony/tcp_socket/hvigorfile.ts +6 -6
  8. package/harmony/tcp_socket/obfuscation-rules.txt +22 -22
  9. package/harmony/tcp_socket/oh-package.json5 +11 -11
  10. package/harmony/tcp_socket/src/main/cpp/CMakeLists.txt +8 -8
  11. package/harmony/tcp_socket/src/main/cpp/TcpSocketPackage.h +18 -18
  12. package/harmony/tcp_socket/src/main/cpp/generated/RNOH/generated/BaseReactNativeTcpSocketPackage.h +72 -72
  13. package/harmony/tcp_socket/src/main/cpp/generated/RNOH/generated/turbo_modules/TcpSocketModule.cpp +28 -28
  14. package/harmony/tcp_socket/src/main/cpp/generated/RNOH/generated/turbo_modules/TcpSocketModule.h +16 -16
  15. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/ComponentDescriptors.h +24 -24
  16. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/EventEmitters.cpp +16 -16
  17. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/EventEmitters.h +17 -17
  18. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/Props.cpp +19 -19
  19. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/Props.h +18 -18
  20. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/ShadowNodes.cpp +17 -17
  21. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/ShadowNodes.h +23 -23
  22. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/States.cpp +16 -16
  23. package/harmony/tcp_socket/src/main/cpp/generated/react/renderer/components/react_native_tcp_socket/States.h +18 -18
  24. package/harmony/tcp_socket/src/main/ets/Logger.ts +45 -45
  25. package/harmony/tcp_socket/src/main/ets/TcpEventListener.ts +120 -120
  26. package/harmony/tcp_socket/src/main/ets/TcpSocket.ts +16 -16
  27. package/harmony/tcp_socket/src/main/ets/TcpSocketClient.ts +443 -443
  28. package/harmony/tcp_socket/src/main/ets/TcpSocketPackage.ts +27 -27
  29. package/harmony/tcp_socket/src/main/ets/TcpSocketServer.ts +150 -150
  30. package/harmony/tcp_socket/src/main/ets/TcpSocketTurboModule.ts +224 -224
  31. package/harmony/tcp_socket/src/main/ets/generated/components/ts.ts +5 -5
  32. package/harmony/tcp_socket/src/main/ets/generated/index.ets +5 -5
  33. package/harmony/tcp_socket/src/main/ets/generated/ts.ts +6 -6
  34. package/harmony/tcp_socket/src/main/ets/generated/turboModules/TcpSocketModule.ts +38 -38
  35. package/harmony/tcp_socket/src/main/ets/generated/turboModules/ts.ts +5 -5
  36. package/harmony/tcp_socket/src/main/module.json5 +11 -11
  37. package/harmony/tcp_socket/src/main/resources/base/element/string.json +8 -8
  38. package/harmony/tcp_socket/src/main/resources/en_US/element/string.json +8 -8
  39. package/harmony/tcp_socket/src/main/resources/zh_CN/element/string.json +8 -8
  40. package/harmony/tcp_socket/src/ohosTest/ets/test/Ability.test.ets +34 -34
  41. package/harmony/tcp_socket/src/ohosTest/ets/test/List.test.ets +4 -4
  42. package/harmony/tcp_socket/src/ohosTest/module.json5 +13 -13
  43. package/harmony/tcp_socket/src/test/List.test.ets +4 -4
  44. package/harmony/tcp_socket/src/test/LocalUnit.test.ets +32 -32
  45. package/harmony/tcp_socket/ts.ts +6 -6
  46. package/harmony/tcp_socket.har +0 -0
  47. package/lib/types/Globals.d.ts +2 -2
  48. package/lib/types/Server.d.ts +137 -137
  49. package/lib/types/Socket.d.ts +272 -272
  50. package/lib/types/TLSServer.d.ts +28 -28
  51. package/lib/types/TLSSocket.d.ts +50 -50
  52. package/lib/types/index.d.ts +80 -80
  53. package/package.json +76 -76
  54. package/src/Globals.js +12 -12
  55. package/src/Server.js +271 -271
  56. package/src/Socket.js +513 -513
  57. package/src/TLSServer.js +70 -70
  58. package/src/TLSSocket.js +93 -93
  59. package/src/TcpSocketModule.ts +39 -39
  60. package/src/index.js +144 -144
@@ -1,27 +1,27 @@
1
- /*
2
- * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
- * Use of this source code is governed by a MIT license that can be
4
- * found in the LICENSE file.
5
- */
6
- import { RNPackage, TurboModulesFactory } from '@rnoh/react-native-openharmony/ts';
7
- import type { TurboModule, TurboModuleContext } from '@rnoh/react-native-openharmony/ts';
8
- import { TcpSocketTurboModule } from './TcpSocketTurboModule';
9
-
10
- class TcpSocketTurboModulesFactory extends TurboModulesFactory {
11
- createTurboModule(name: string): TurboModule | null {
12
- if (this.hasTurboModule(name)) {
13
- return new TcpSocketTurboModule(this.ctx);
14
- }
15
- return null;
16
- }
17
-
18
- hasTurboModule(name: string): boolean {
19
- return name === 'TcpSocketModule';
20
- }
21
- }
22
-
23
- export class TcpSocketPackage extends RNPackage {
24
- createTurboModulesFactory(ctx: TurboModuleContext): TurboModulesFactory {
25
- return new TcpSocketTurboModulesFactory(ctx);
26
- }
27
- }
1
+ /*
2
+ * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
+ * Use of this source code is governed by a MIT license that can be
4
+ * found in the LICENSE file.
5
+ */
6
+ import { RNPackage, TurboModulesFactory } from '@rnoh/react-native-openharmony/ts';
7
+ import type { TurboModule, TurboModuleContext } from '@rnoh/react-native-openharmony/ts';
8
+ import { TcpSocketTurboModule } from './TcpSocketTurboModule';
9
+
10
+ class TcpSocketTurboModulesFactory extends TurboModulesFactory {
11
+ createTurboModule(name: string): TurboModule | null {
12
+ if (this.hasTurboModule(name)) {
13
+ return new TcpSocketTurboModule(this.ctx);
14
+ }
15
+ return null;
16
+ }
17
+
18
+ hasTurboModule(name: string): boolean {
19
+ return name === 'TcpSocketModule';
20
+ }
21
+ }
22
+
23
+ export class TcpSocketPackage extends RNPackage {
24
+ createTurboModulesFactory(ctx: TurboModuleContext): TurboModulesFactory {
25
+ return new TcpSocketTurboModulesFactory(ctx);
26
+ }
27
+ }
@@ -1,151 +1,151 @@
1
- /*
2
- * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
- * Use of this source code is governed by a MIT license that can be
4
- * found in the LICENSE file.
5
- */
6
- import { socket } from '@kit.NetworkKit';
7
-
8
- import { TcpSocket } from './TcpSocket'
9
- import { TcpEventListener } from "./TcpEventListener"
10
- import { BusinessError } from '@kit.BasicServicesKit';
11
- import Logger from './Logger'
12
- import { TcpSocketClient } from './TcpSocketClient';
13
-
14
- interface SocketLinger {
15
- on: boolean;
16
- linger: number;
17
- }
18
-
19
- export class TcpSocketServer extends TcpSocket {
20
- private receiverListener?: TcpEventListener;
21
- private cid?: number;
22
- private tcpSocketMap?: Map<number, TcpSocket>;
23
- private options?: object;
24
- private tcpSocketServer?: socket.TCPSocketServer;
25
- private tlsSocketServer?: socket.TLSSocketServer;
26
- private socketServerId?: number;
27
-
28
- private ipAddress: socket.NetAddress = {
29
- "address": '127.0.0.1',
30
- "port": 9999,
31
- "family": 1
32
- } as socket.NetAddress;
33
-
34
- private tcpExtraOptions: socket.TCPExtraOptions = {
35
- keepAlive: true,
36
- OOBInline: true,
37
- TCPNoDelay: true,
38
- socketLinger: { on: true, linger: 10 } as SocketLinger,
39
- receiveBufferSize: 1000,
40
- sendBufferSize: 1000,
41
- reuseAddress: true,
42
- socketTimeout: 3000
43
- }
44
-
45
-
46
- private createTlsSocketServer(tlsOption: Object) {
47
- this.tlsSocketServer = socket.constructTLSSocketServerInstance();
48
- let ca: string[] = tlsOption["ca"];
49
- let key: string = tlsOption["key"];
50
- let cert: string = tlsOption["cert"];
51
-
52
- let tlsSecureOptions: socket.TLSSecureOptions = {
53
- password: '',
54
- useRemoteCipherPrefer: true,
55
- signatureAlgorithms: "rsa_pss_rsae_sha256:ECDSA+SHA256",
56
- cipherSuite: "AES256-SHA256"
57
- }
58
- if (key) {
59
- tlsSecureOptions.key = key
60
- }
61
- if (cert) {
62
- tlsSecureOptions.cert = cert
63
- }
64
- if (ca) {
65
- tlsSecureOptions.ca = ca
66
- }
67
- let tlsConnectOptions: socket.TLSConnectOptions = {
68
- address: this.ipAddress,
69
- secureOptions: tlsSecureOptions,
70
- ALPNProtocols: ["spdy/1", "http/1.1"]
71
- }
72
- this.tlsSocketServer.listen(tlsConnectOptions, (err: BusinessError) => {
73
- if (err) {
74
- Logger.info("listen callback error" + err.message);
75
- return;
76
- }
77
- Logger.info("tlsSocketServer listen success");
78
- this.tlsSocketServer.on('connect', (client: socket.TLSSocketConnection) => {
79
- let clientId = this.getClientId();
80
- let socketClient = new TcpSocketClient(this.receiverListener, clientId, undefined, client);
81
- this.tcpSocketMap?.set(clientId, socketClient);
82
- this.receiverListener?.onSecureConnection(this.getId(), clientId, client);
83
- socketClient.startListening();
84
- });
85
- this.tlsSocketServer.on('error', (err: BusinessError) => {
86
- this.receiverListener?.onError(this.getId(), err.message);
87
- });
88
- this.tlsSocketServer.setExtraOptions(this.tcpExtraOptions);
89
- });
90
-
91
- }
92
-
93
- private createTcpSocketServer() {
94
- this.tcpSocketServer = socket.constructTCPSocketServerInstance();
95
- this.tcpSocketServer.listen(this.ipAddress, (err: BusinessError) => {
96
- if (err) {
97
- Logger.info("listen fail");
98
- return;
99
- }
100
- this.tcpSocketServer.on("connect", (client: socket.TCPSocketConnection) => {
101
- let clientId = this.getClientId();
102
- let socketClient = new TcpSocketClient(this.receiverListener, clientId, client);
103
- this.tcpSocketMap?.set(clientId, socketClient);
104
- this.receiverListener?.onConnection(this.getId(), clientId, client);
105
- socketClient.startListening();
106
- });
107
- this.tcpSocketServer.on('error', (err: BusinessError) => {
108
- this.receiverListener?.onError(this.getId(), err.message);
109
- });
110
- this.tcpSocketServer.setExtraOptions(this.tcpExtraOptions);
111
- });
112
- }
113
-
114
-
115
- constructor(tcpSocketMap: Map<number, TcpSocket>, receiverListener: TcpEventListener, cId: number, options: Object) {
116
- super(cId);
117
- this.receiverListener = receiverListener;
118
- this.cid = cId;
119
- this.tcpSocketMap = tcpSocketMap;
120
- this.options = options;
121
- this.socketServerId = (this.getId() + 1) * 1000;
122
- let port = options["port"] as number;
123
- let host = options["host"] as string;
124
- let tlsOption = options["tls"] as object;
125
- this.tcpExtraOptions.reuseAddress = options["reuseAddress"] as boolean;
126
- this.ipAddress.address = host;
127
- this.ipAddress.port = port;
128
- if (tlsOption) {
129
- this.createTlsSocketServer(tlsOption);
130
- } else {
131
- this.createTcpSocketServer();
132
- }
133
- }
134
-
135
- private getClientId(): number {
136
- return this.socketServerId++;
137
- }
138
-
139
- getServerSocket(): socket.TCPSocketServer | socket.TLSSocketServer {
140
- if (this.tlsSocketServer) {
141
- return this.tlsSocketServer;
142
- }
143
- return this.tcpSocketServer;
144
- }
145
-
146
- close() {
147
- this.tcpSocketServer?.off("connect");
148
- this.tlsSocketServer?.off("connect");
149
- this.receiverListener?.onClose(this.getId(), null);
150
- }
1
+ /*
2
+ * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
+ * Use of this source code is governed by a MIT license that can be
4
+ * found in the LICENSE file.
5
+ */
6
+ import { socket } from '@kit.NetworkKit';
7
+
8
+ import { TcpSocket } from './TcpSocket'
9
+ import { TcpEventListener } from "./TcpEventListener"
10
+ import { BusinessError } from '@kit.BasicServicesKit';
11
+ import Logger from './Logger'
12
+ import { TcpSocketClient } from './TcpSocketClient';
13
+
14
+ interface SocketLinger {
15
+ on: boolean;
16
+ linger: number;
17
+ }
18
+
19
+ export class TcpSocketServer extends TcpSocket {
20
+ private receiverListener?: TcpEventListener;
21
+ private cid?: number;
22
+ private tcpSocketMap?: Map<number, TcpSocket>;
23
+ private options?: object;
24
+ private tcpSocketServer?: socket.TCPSocketServer;
25
+ private tlsSocketServer?: socket.TLSSocketServer;
26
+ private socketServerId?: number;
27
+
28
+ private ipAddress: socket.NetAddress = {
29
+ "address": '127.0.0.1',
30
+ "port": 9999,
31
+ "family": 1
32
+ } as socket.NetAddress;
33
+
34
+ private tcpExtraOptions: socket.TCPExtraOptions = {
35
+ keepAlive: true,
36
+ OOBInline: true,
37
+ TCPNoDelay: true,
38
+ socketLinger: { on: true, linger: 10 } as SocketLinger,
39
+ receiveBufferSize: 1000,
40
+ sendBufferSize: 1000,
41
+ reuseAddress: true,
42
+ socketTimeout: 3000
43
+ }
44
+
45
+
46
+ private createTlsSocketServer(tlsOption: Object) {
47
+ this.tlsSocketServer = socket.constructTLSSocketServerInstance();
48
+ let ca: string[] = tlsOption["ca"];
49
+ let key: string = tlsOption["key"];
50
+ let cert: string = tlsOption["cert"];
51
+
52
+ let tlsSecureOptions: socket.TLSSecureOptions = {
53
+ password: '',
54
+ useRemoteCipherPrefer: true,
55
+ signatureAlgorithms: "rsa_pss_rsae_sha256:ECDSA+SHA256",
56
+ cipherSuite: "AES256-SHA256"
57
+ }
58
+ if (key) {
59
+ tlsSecureOptions.key = key
60
+ }
61
+ if (cert) {
62
+ tlsSecureOptions.cert = cert
63
+ }
64
+ if (ca) {
65
+ tlsSecureOptions.ca = ca
66
+ }
67
+ let tlsConnectOptions: socket.TLSConnectOptions = {
68
+ address: this.ipAddress,
69
+ secureOptions: tlsSecureOptions,
70
+ ALPNProtocols: ["spdy/1", "http/1.1"]
71
+ }
72
+ this.tlsSocketServer.listen(tlsConnectOptions, (err: BusinessError) => {
73
+ if (err) {
74
+ Logger.info("listen callback error" + err.message);
75
+ return;
76
+ }
77
+ Logger.info("tlsSocketServer listen success");
78
+ this.tlsSocketServer.on('connect', (client: socket.TLSSocketConnection) => {
79
+ let clientId = this.getClientId();
80
+ let socketClient = new TcpSocketClient(this.receiverListener, clientId, undefined, client);
81
+ this.tcpSocketMap?.set(clientId, socketClient);
82
+ this.receiverListener?.onSecureConnection(this.getId(), clientId, client);
83
+ socketClient.startListening();
84
+ });
85
+ this.tlsSocketServer.on('error', (err: BusinessError) => {
86
+ this.receiverListener?.onError(this.getId(), err.message);
87
+ });
88
+ this.tlsSocketServer.setExtraOptions(this.tcpExtraOptions);
89
+ });
90
+
91
+ }
92
+
93
+ private createTcpSocketServer() {
94
+ this.tcpSocketServer = socket.constructTCPSocketServerInstance();
95
+ this.tcpSocketServer.listen(this.ipAddress, (err: BusinessError) => {
96
+ if (err) {
97
+ Logger.info("listen fail");
98
+ return;
99
+ }
100
+ this.tcpSocketServer.on("connect", (client: socket.TCPSocketConnection) => {
101
+ let clientId = this.getClientId();
102
+ let socketClient = new TcpSocketClient(this.receiverListener, clientId, client);
103
+ this.tcpSocketMap?.set(clientId, socketClient);
104
+ this.receiverListener?.onConnection(this.getId(), clientId, client);
105
+ socketClient.startListening();
106
+ });
107
+ this.tcpSocketServer.on('error', (err: BusinessError) => {
108
+ this.receiverListener?.onError(this.getId(), err.message);
109
+ });
110
+ this.tcpSocketServer.setExtraOptions(this.tcpExtraOptions);
111
+ });
112
+ }
113
+
114
+
115
+ constructor(tcpSocketMap: Map<number, TcpSocket>, receiverListener: TcpEventListener, cId: number, options: Object) {
116
+ super(cId);
117
+ this.receiverListener = receiverListener;
118
+ this.cid = cId;
119
+ this.tcpSocketMap = tcpSocketMap;
120
+ this.options = options;
121
+ this.socketServerId = (this.getId() + 1) * 1000;
122
+ let port = options["port"] as number;
123
+ let host = options["host"] as string;
124
+ let tlsOption = options["tls"] as object;
125
+ this.tcpExtraOptions.reuseAddress = options["reuseAddress"] as boolean;
126
+ this.ipAddress.address = host;
127
+ this.ipAddress.port = port;
128
+ if (tlsOption) {
129
+ this.createTlsSocketServer(tlsOption);
130
+ } else {
131
+ this.createTcpSocketServer();
132
+ }
133
+ }
134
+
135
+ private getClientId(): number {
136
+ return this.socketServerId++;
137
+ }
138
+
139
+ getServerSocket(): socket.TCPSocketServer | socket.TLSSocketServer {
140
+ if (this.tlsSocketServer) {
141
+ return this.tlsSocketServer;
142
+ }
143
+ return this.tcpSocketServer;
144
+ }
145
+
146
+ close() {
147
+ this.tcpSocketServer?.off("connect");
148
+ this.tlsSocketServer?.off("connect");
149
+ this.receiverListener?.onClose(this.getId(), null);
150
+ }
151
151
  }