cgserver 12.0.8 → 12.2.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.
Files changed (176) hide show
  1. package/README.md +9 -0
  2. package/dist/lib/Framework/AI/AiObject.js +10 -10
  3. package/dist/lib/Framework/AI/Astar.js +133 -133
  4. package/dist/lib/Framework/AI/BehaviorAI.js +340 -307
  5. package/dist/lib/Framework/AI/Entity.js +33 -33
  6. package/dist/lib/Framework/AI/Point.js +68 -68
  7. package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
  8. package/dist/lib/Framework/Config/Config.js +74 -41
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
  11. package/dist/lib/Framework/Config/IServerConfig.js +31 -31
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/ByteTool.js +85 -85
  14. package/dist/lib/Framework/Core/Core.js +724 -688
  15. package/dist/lib/Framework/Core/Timer.js +116 -116
  16. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
  17. package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
  18. package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
  19. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
  20. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  21. package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
  22. package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
  23. package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
  24. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
  25. package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
  26. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
  27. package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
  28. package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
  29. package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
  30. package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
  31. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  32. package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
  33. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
  34. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  35. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
  36. package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
  37. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  38. package/dist/lib/Framework/Logic/CacheTool.js +106 -73
  39. package/dist/lib/Framework/Logic/EventTool.js +31 -28
  40. package/dist/lib/Framework/Logic/HttpTool.js +138 -105
  41. package/dist/lib/Framework/Logic/Log.js +121 -88
  42. package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
  43. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
  44. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
  45. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
  46. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
  47. package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
  48. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
  49. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
  50. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
  51. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
  52. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
  53. package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
  54. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
  55. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
  56. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
  57. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
  58. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
  59. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
  60. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
  61. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
  62. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
  63. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
  64. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
  65. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
  66. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
  67. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
  68. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
  69. package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
  70. package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
  71. package/dist/lib/Framework/Service/MongoUserService.js +129 -96
  72. package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
  73. package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
  74. package/dist/lib/Framework/Service/ini.js +36 -36
  75. package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
  76. package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
  77. package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
  78. package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
  79. package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
  80. package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
  81. package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
  82. package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
  83. package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
  84. package/dist/lib/Framework/cgserver.js +215 -212
  85. package/dist/lib/Framework/global.js +74 -74
  86. package/dist/lib/Framework/index.js +38 -5
  87. package/dist/lib/Framework/index_export_.js +180 -177
  88. package/dist/lib/test/test.js +21 -21
  89. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  90. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  91. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  92. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  93. package/dist/types/Framework/AI/Point.d.ts +17 -17
  94. package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
  95. package/dist/types/Framework/Config/Config.d.ts +9 -9
  96. package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
  97. package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
  98. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  99. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  100. package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
  101. package/dist/types/Framework/Core/Core.d.ts +119 -120
  102. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  103. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  104. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
  105. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  106. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  107. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  108. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  109. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  110. package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
  111. package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
  112. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
  113. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
  114. package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
  115. package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
  116. package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
  117. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  118. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  119. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  120. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  121. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  122. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  123. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  124. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  125. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  126. package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
  127. package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
  128. package/dist/types/Framework/Logic/Log.d.ts +18 -18
  129. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  130. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  131. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
  132. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  133. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
  134. package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
  135. package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
  136. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
  137. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
  138. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
  139. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
  140. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
  141. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
  142. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
  143. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
  144. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
  145. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  146. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
  147. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
  148. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
  149. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
  150. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
  151. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
  152. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
  153. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
  154. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
  155. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
  156. package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
  157. package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
  158. package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
  159. package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
  160. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  161. package/dist/types/Framework/Service/ini.d.ts +29 -29
  162. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
  163. package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
  164. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  165. package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
  166. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
  167. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  168. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
  169. package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
  170. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
  171. package/dist/types/Framework/cgserver.d.ts +63 -63
  172. package/dist/types/Framework/global.d.ts +45 -45
  173. package/dist/types/Framework/index.d.ts +2 -2
  174. package/dist/types/Framework/index_export_.d.ts +81 -79
  175. package/dist/types/test/test.d.ts +1 -1
  176. package/package.json +8 -4
@@ -1,144 +1,177 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ISocketServer = void 0;
4
- const cgserver_1 = require("../../cgserver");
5
- const Log_1 = require("../../Logic/Log");
6
- const EventTool_1 = require("../../Logic/EventTool");
7
- const net = require("net");
8
- class ISocketServer {
9
- _cfg = null;
10
- //方便提示
11
- get cfg() {
12
- return this._cfg;
13
- }
14
- //服务器已被关闭
15
- _is_runging = false;
16
- get isrunging() {
17
- return this._is_runging;
18
- }
19
- get name() {
20
- return this._cfg.serverName;
21
- }
22
- //监听websocket
23
- _server = null;
24
- get server() {
25
- return this._server;
26
- }
27
- //来自于用户的链接
28
- _clients = {};
29
- get listenPort() {
30
- return this._cfg.port;
31
- }
32
- /**
33
- * websocket can accepted protocol
34
- */
35
- _accepted_protocol = null;
36
- //服务器管理相关
37
- /*
38
- item=servername:class
39
- */
40
- _cls = null;
41
- registerSocketHandleClass(cls) {
42
- this._cls = cls;
43
- }
44
- constructor(cfg) {
45
- this._cfg = cfg;
46
- }
47
- removeServerSocketBySocketId(socketId) {
48
- this._clients[socketId] = null;
49
- delete this._clients[socketId];
50
- }
51
- async run() {
52
- cgserver_1.gCgServer.addSocketServer(this);
53
- if (this._cfg.db) {
54
- await cgserver_1.gCgServer.initDb(this._cfg.db);
55
- }
56
- this.initSocket();
57
- }
58
- pause() {
59
- if (!this._is_runging) {
60
- Log_1.gLog.error("socketserver has paused:" + this._cfg.port);
61
- return;
62
- }
63
- this._is_runging = false;
64
- for (let key in this._clients) {
65
- this._clients[key].close();
66
- }
67
- Log_1.gLog.info("socketserver paused:" + this._cfg.port);
68
- }
69
- resume() {
70
- if (this._is_runging) {
71
- Log_1.gLog.error("socketserver is running:" + this._cfg.port);
72
- return;
73
- }
74
- this._is_runging = true;
75
- Log_1.gLog.error("socketserver resumed:" + this._cfg.port);
76
- }
77
- /*
78
- 把所有的客户端链接保存起来
79
- 方便统计,广播等
80
- */
81
- addClient(ws_client) {
82
- this._clients[ws_client.socketId] = ws_client;
83
- }
84
- initSocket(wss) {
85
- this._server = net.createServer();
86
- this._server.listen(this._cfg.port, this.onListenning.bind(this));
87
- this._server.on("connection", this.onConnection.bind(this));
88
- this._server.on('close', this.onClose.bind(this));
89
- }
90
- onClose() {
91
- }
92
- onListenning() {
93
- this._is_runging = true;
94
- EventTool_1.gEventTool.emit("socket_server_init_done");
95
- let info = (new Date()) + " Server " + this.name + " is listening on port " + this._cfg.port;
96
- Log_1.gLog.info(info);
97
- }
98
- onConnection(socket) {
99
- if (!this._is_runging) {
100
- socket.end();
101
- Log_1.gLog.error(' Connection rejected.');
102
- return;
103
- }
104
- try {
105
- Log_1.gLog.info((new Date()) + ' Connection accepted.');
106
- this.createSocketObjectByProtocol(socket);
107
- }
108
- catch (e) {
109
- Log_1.gLog.error(' protocol reject');
110
- }
111
- }
112
- createSocketObjectByProtocol(socket) {
113
- let cls = this._cls;
114
- if (!cls) {
115
- Log_1.gLog.error("(createSocketObjectByProtocol in server(" + this.name + "))no this socket handle class");
116
- return null;
117
- }
118
- let s_client = (new cls(this));
119
- this.addClient(s_client);
120
- s_client.onConnect(socket);
121
- return s_client;
122
- }
123
- /**
124
- * 广播消息
125
- * @param msg
126
- */
127
- broadCast(msg) {
128
- for (var key in this._clients) {
129
- let ws = this._clients[key];
130
- ws.send(msg);
131
- }
132
- }
133
- /**
134
- * 获取任意客户端连接
135
- * @returns
136
- */
137
- getAnyWebSocket() {
138
- for (var key in this._clients) {
139
- return this._clients[key];
140
- }
141
- return null;
142
- }
143
- }
144
- exports.ISocketServer = ISocketServer;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ISocketServer = void 0;
37
+ const cgserver_1 = require("../../cgserver");
38
+ const Log_1 = require("../../Logic/Log");
39
+ const EventTool_1 = require("../../Logic/EventTool");
40
+ const net = __importStar(require("net"));
41
+ class ISocketServer {
42
+ _cfg = null;
43
+ //方便提示
44
+ get cfg() {
45
+ return this._cfg;
46
+ }
47
+ //服务器已被关闭
48
+ _is_runging = false;
49
+ get isrunging() {
50
+ return this._is_runging;
51
+ }
52
+ get name() {
53
+ return this._cfg.serverName;
54
+ }
55
+ //监听websocket
56
+ _server = null;
57
+ get server() {
58
+ return this._server;
59
+ }
60
+ //来自于用户的链接
61
+ _clients = {};
62
+ get listenPort() {
63
+ return this._cfg.port;
64
+ }
65
+ /**
66
+ * websocket can accepted protocol
67
+ */
68
+ _accepted_protocol = null;
69
+ //服务器管理相关
70
+ /*
71
+ item=servername:class
72
+ */
73
+ _cls = null;
74
+ registerSocketHandleClass(cls) {
75
+ this._cls = cls;
76
+ }
77
+ constructor(cfg) {
78
+ this._cfg = cfg;
79
+ }
80
+ removeServerSocketBySocketId(socketId) {
81
+ this._clients[socketId] = null;
82
+ delete this._clients[socketId];
83
+ }
84
+ async run() {
85
+ cgserver_1.gCgServer.addSocketServer(this);
86
+ if (this._cfg.db) {
87
+ await cgserver_1.gCgServer.initDb(this._cfg.db);
88
+ }
89
+ this.initSocket();
90
+ }
91
+ pause() {
92
+ if (!this._is_runging) {
93
+ Log_1.gLog.error("socketserver has paused:" + this._cfg.port);
94
+ return;
95
+ }
96
+ this._is_runging = false;
97
+ for (let key in this._clients) {
98
+ this._clients[key].close();
99
+ }
100
+ Log_1.gLog.info("socketserver paused:" + this._cfg.port);
101
+ }
102
+ resume() {
103
+ if (this._is_runging) {
104
+ Log_1.gLog.error("socketserver is running:" + this._cfg.port);
105
+ return;
106
+ }
107
+ this._is_runging = true;
108
+ Log_1.gLog.error("socketserver resumed:" + this._cfg.port);
109
+ }
110
+ /*
111
+ 把所有的客户端链接保存起来
112
+ 方便统计,广播等
113
+ */
114
+ addClient(ws_client) {
115
+ this._clients[ws_client.socketId] = ws_client;
116
+ }
117
+ initSocket(wss) {
118
+ this._server = net.createServer();
119
+ this._server.listen(this._cfg.port, this.onListenning.bind(this));
120
+ this._server.on("connection", this.onConnection.bind(this));
121
+ this._server.on('close', this.onClose.bind(this));
122
+ }
123
+ onClose() {
124
+ }
125
+ onListenning() {
126
+ this._is_runging = true;
127
+ EventTool_1.gEventTool.emit("socket_server_init_done");
128
+ let info = (new Date()) + " Server " + this.name + " is listening on port " + this._cfg.port;
129
+ Log_1.gLog.info(info);
130
+ }
131
+ onConnection(socket) {
132
+ if (!this._is_runging) {
133
+ socket.end();
134
+ Log_1.gLog.error(' Connection rejected.');
135
+ return;
136
+ }
137
+ try {
138
+ Log_1.gLog.info((new Date()) + ' Connection accepted.');
139
+ this.createSocketObjectByProtocol(socket);
140
+ }
141
+ catch (e) {
142
+ Log_1.gLog.error(' protocol reject');
143
+ }
144
+ }
145
+ createSocketObjectByProtocol(socket) {
146
+ let cls = this._cls;
147
+ if (!cls) {
148
+ Log_1.gLog.error("(createSocketObjectByProtocol in server(" + this.name + "))no this socket handle class");
149
+ return null;
150
+ }
151
+ let s_client = (new cls(this));
152
+ this.addClient(s_client);
153
+ s_client.onConnect(socket);
154
+ return s_client;
155
+ }
156
+ /**
157
+ * 广播消息
158
+ * @param msg
159
+ */
160
+ broadCast(msg) {
161
+ for (var key in this._clients) {
162
+ let ws = this._clients[key];
163
+ ws.send(msg);
164
+ }
165
+ }
166
+ /**
167
+ * 获取任意客户端连接
168
+ * @returns
169
+ */
170
+ getAnyWebSocket() {
171
+ for (var key in this._clients) {
172
+ return this._clients[key];
173
+ }
174
+ return null;
175
+ }
176
+ }
177
+ exports.ISocketServer = ISocketServer;
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PacketParser = void 0;
4
- class PacketParser {
5
- buffer;
6
- offset;
7
- constructor() {
8
- this.buffer = Buffer.alloc(0);
9
- this.offset = 0;
10
- }
11
- push(chunk) {
12
- const newBuffer = Buffer.alloc(this.buffer.length + chunk.length);
13
- this.buffer.copy(newBuffer, 0);
14
- chunk.copy(newBuffer, this.buffer.length);
15
- this.buffer = newBuffer;
16
- }
17
- parse() {
18
- if (this.buffer.length < 4)
19
- return null;
20
- // Read packet length (first 4 bytes)
21
- const length = this.buffer.readUInt32BE(0);
22
- if (this.buffer.length < length + 4)
23
- return null;
24
- // Extract packet
25
- const packet = this.buffer.slice(4, length + 4);
26
- // Remove parsed data from buffer
27
- this.buffer = this.buffer.slice(length + 4);
28
- return packet;
29
- }
30
- pack(data) {
31
- const length = data.length;
32
- const packet = Buffer.alloc(length + 4);
33
- // Write length header
34
- packet.writeUInt32BE(length, 0);
35
- // Write data
36
- data.copy(packet, 4);
37
- return packet;
38
- }
39
- }
40
- exports.PacketParser = PacketParser;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PacketParser = void 0;
4
+ class PacketParser {
5
+ buffer;
6
+ offset;
7
+ constructor() {
8
+ this.buffer = Buffer.alloc(0);
9
+ this.offset = 0;
10
+ }
11
+ push(chunk) {
12
+ const newBuffer = Buffer.alloc(this.buffer.length + chunk.length);
13
+ this.buffer.copy(newBuffer, 0);
14
+ chunk.copy(newBuffer, this.buffer.length);
15
+ this.buffer = newBuffer;
16
+ }
17
+ parse() {
18
+ if (this.buffer.length < 4)
19
+ return null;
20
+ // Read packet length (first 4 bytes)
21
+ const length = this.buffer.readUInt32BE(0);
22
+ if (this.buffer.length < length + 4)
23
+ return null;
24
+ // Extract packet
25
+ const packet = this.buffer.slice(4, length + 4);
26
+ // Remove parsed data from buffer
27
+ this.buffer = this.buffer.slice(length + 4);
28
+ return packet;
29
+ }
30
+ pack(data) {
31
+ const length = data.length;
32
+ const packet = Buffer.alloc(length + 4);
33
+ // Write length header
34
+ packet.writeUInt32BE(length, 0);
35
+ // Write data
36
+ data.copy(packet, 4);
37
+ return packet;
38
+ }
39
+ }
40
+ exports.PacketParser = PacketParser;
@@ -1,119 +1,119 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseController = void 0;
4
- class BaseController {
5
- _request = null;
6
- get request() {
7
- return this._request;
8
- }
9
- _response = null;
10
- get response() {
11
- return this._response;
12
- }
13
- //模块名称
14
- _module = "";
15
- _ctr_name = "";
16
- get ctrName() {
17
- return this._ctr_name;
18
- }
19
- _engine = null;
20
- get postData() {
21
- if (!this._request) {
22
- return {};
23
- }
24
- return this._request.postData || {};
25
- }
26
- get paramData() {
27
- if (!this._request) {
28
- return {};
29
- }
30
- return this._request.params || {};
31
- }
32
- constructor(req, res, engine) {
33
- this._engine = engine;
34
- this._request = req;
35
- this._response = res;
36
- //静态控制器,传过来全是空
37
- if (this._request) {
38
- this._request.debugInfo();
39
- }
40
- }
41
- async init() {
42
- }
43
- /**
44
- * 方便static ctr使用
45
- * @param req
46
- * @param res
47
- * @param engine
48
- */
49
- initStatic(req, res, engine) {
50
- this._engine = engine;
51
- this._request = req;
52
- this._response = res;
53
- this._request.debugInfo();
54
- }
55
- //填充每个页面需要的通用数据
56
- _init_data(model) {
57
- model = model || {};
58
- model.webName = this._engine.cfg.web_name;
59
- return { model };
60
- }
61
- showJson(model) {
62
- this._response.renderJson(model);
63
- }
64
- show(model) {
65
- let html = this._engine.getRenderHtml(this._request, this._response, this._init_data(model));
66
- this._response.renderHtml(html);
67
- }
68
- showText(text, noMeta) {
69
- if (!noMeta) {
70
- text = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" + text;
71
- }
72
- this._response.renderHtml(text);
73
- }
74
- redirect(module, controller, action, params) {
75
- module = module || this._module;
76
- controller = controller || this._ctr_name;
77
- let url = this.parseFullUrl(module, controller, action);
78
- params = params || {};
79
- let str_p = "";
80
- for (let key in params) {
81
- str_p += "&" + key + "=" + params[key];
82
- }
83
- if (str_p.length > 0) {
84
- str_p = "?" + str_p.substring(1);
85
- }
86
- url += str_p;
87
- this._response.redirect(url);
88
- }
89
- parseFullUrl(module, controller, action) {
90
- if (typeof action === "undefined" || !action) {
91
- action = "index";
92
- if (this._engine.cfg.routs.defaults.action == action) {
93
- action = null;
94
- }
95
- }
96
- let url = "";
97
- if (this._engine.cfg.routs.onlyModule) {
98
- url = this._request.root + "/" + controller;
99
- }
100
- else {
101
- url = this._request.root + "/" + module + "/" + controller;
102
- }
103
- if (action) {
104
- url += "/" + action;
105
- }
106
- return url;
107
- }
108
- get remoteHost() {
109
- return this._request.remoteHost;
110
- }
111
- forceDebug() {
112
- //静态控制器,传过来全是空
113
- if (this._request) {
114
- this._request.debugInfo();
115
- }
116
- this._response.debug = true;
117
- }
118
- }
119
- exports.BaseController = BaseController;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseController = void 0;
4
+ class BaseController {
5
+ _request = null;
6
+ get request() {
7
+ return this._request;
8
+ }
9
+ _response = null;
10
+ get response() {
11
+ return this._response;
12
+ }
13
+ //模块名称
14
+ _module = "";
15
+ _ctr_name = "";
16
+ get ctrName() {
17
+ return this._ctr_name;
18
+ }
19
+ _engine = null;
20
+ get postData() {
21
+ if (!this._request) {
22
+ return {};
23
+ }
24
+ return this._request.postData || {};
25
+ }
26
+ get paramData() {
27
+ if (!this._request) {
28
+ return {};
29
+ }
30
+ return this._request.params || {};
31
+ }
32
+ constructor(req, res, engine) {
33
+ this._engine = engine;
34
+ this._request = req;
35
+ this._response = res;
36
+ //静态控制器,传过来全是空
37
+ if (this._request) {
38
+ this._request.debugInfo();
39
+ }
40
+ }
41
+ async init() {
42
+ }
43
+ /**
44
+ * 方便static ctr使用
45
+ * @param req
46
+ * @param res
47
+ * @param engine
48
+ */
49
+ initStatic(req, res, engine) {
50
+ this._engine = engine;
51
+ this._request = req;
52
+ this._response = res;
53
+ this._request.debugInfo();
54
+ }
55
+ //填充每个页面需要的通用数据
56
+ _init_data(model) {
57
+ model = model || {};
58
+ model.webName = this._engine.cfg.web_name;
59
+ return { model };
60
+ }
61
+ showJson(model) {
62
+ this._response.renderJson(model);
63
+ }
64
+ show(model) {
65
+ let html = this._engine.getRenderHtml(this._request, this._response, this._init_data(model));
66
+ this._response.renderHtml(html);
67
+ }
68
+ showText(text, noMeta) {
69
+ if (!noMeta) {
70
+ text = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" + text;
71
+ }
72
+ this._response.renderHtml(text);
73
+ }
74
+ redirect(module, controller, action, params) {
75
+ module = module || this._module;
76
+ controller = controller || this._ctr_name;
77
+ let url = this.parseFullUrl(module, controller, action);
78
+ params = params || {};
79
+ let str_p = "";
80
+ for (let key in params) {
81
+ str_p += "&" + key + "=" + params[key];
82
+ }
83
+ if (str_p.length > 0) {
84
+ str_p = "?" + str_p.substring(1);
85
+ }
86
+ url += str_p;
87
+ this._response.redirect(url);
88
+ }
89
+ parseFullUrl(module, controller, action) {
90
+ if (typeof action === "undefined" || !action) {
91
+ action = "index";
92
+ if (this._engine.cfg.routs.defaults.action == action) {
93
+ action = null;
94
+ }
95
+ }
96
+ let url = "";
97
+ if (this._engine.cfg.routs.onlyModule) {
98
+ url = this._request.root + "/" + controller;
99
+ }
100
+ else {
101
+ url = this._request.root + "/" + module + "/" + controller;
102
+ }
103
+ if (action) {
104
+ url += "/" + action;
105
+ }
106
+ return url;
107
+ }
108
+ get remoteHost() {
109
+ return this._request.remoteHost;
110
+ }
111
+ forceDebug() {
112
+ //静态控制器,传过来全是空
113
+ if (this._request) {
114
+ this._request.debugInfo();
115
+ }
116
+ this._response.debug = true;
117
+ }
118
+ }
119
+ exports.BaseController = BaseController;