|
|
@@ -32,7 +32,6 @@ let theme = [
|
|
|
// {type:'switch',data:{ name: "空中成像", val: "open"|"close" }'} --单个开关
|
|
|
// {type:'switch',data:{ name: "all", val: "open"|"close" }'} --全部开关
|
|
|
|
|
|
-
|
|
|
// 3-透明展示柜
|
|
|
let show = [
|
|
|
{ name: "A柜左", val: 1 },
|
|
|
@@ -121,3 +120,71 @@ io.on("connection_error", (err) => {
|
|
|
io.on("disconnect", (reason) => {
|
|
|
console.log("客户端断开连接:", reason);
|
|
|
});
|
|
|
+
|
|
|
+//tcp协议------------------
|
|
|
+
|
|
|
+const tcpPort = 8052;
|
|
|
+
|
|
|
+const tcpObj = {
|
|
|
+ // '101' '102'都是字符串
|
|
|
+ // 空中成像
|
|
|
+ 101: "空中成像-历史",
|
|
|
+ 102: "空中成像-红色",
|
|
|
+ 103: "空中成像-非遗",
|
|
|
+ // 文物互动墙
|
|
|
+ 201: "文物互动墙-历史",
|
|
|
+ 202: "文物互动墙-红色",
|
|
|
+ 203: "文物互动墙-非遗",
|
|
|
+ // 透明展示柜A
|
|
|
+ 301: "透明展示柜A-历史",
|
|
|
+ 302: "透明展示柜A-红色",
|
|
|
+ 303: "透明展示柜A-非遗",
|
|
|
+ // 透明展示柜B
|
|
|
+ 401: "透明展示柜B-历史",
|
|
|
+ 402: "透明展示柜B-红色",
|
|
|
+ 403: "透明展示柜B-非遗",
|
|
|
+ // AI数字人
|
|
|
+ 501: "AI数字人-历史",
|
|
|
+ 502: "AI数字人-红色",
|
|
|
+ 503: "AI数字人-非遗",
|
|
|
+ // 切换所有主题
|
|
|
+ 601: "all-红色",
|
|
|
+ 602: "all-历史",
|
|
|
+ 603: "all-非遗",
|
|
|
+};
|
|
|
+
|
|
|
+// tcp-server.js
|
|
|
+const net = require("net");
|
|
|
+const server = net.createServer((socket) => {
|
|
|
+ console.log("tcp客户端已连接");
|
|
|
+
|
|
|
+ socket.on("data", (data) => {
|
|
|
+ console.log("收到tcp客户端消息:", data.toString());
|
|
|
+
|
|
|
+ const valTxt = tcpObj[data.toString()];
|
|
|
+ if (valTxt) {
|
|
|
+ const valArr = valTxt.split("-");
|
|
|
+ const name = valArr[0];
|
|
|
+ const val = valArr[1];
|
|
|
+ theme = theme.map((v) => ({
|
|
|
+ ...v,
|
|
|
+ val: name === "all" ? val : v.name === name ? val : v.val,
|
|
|
+ }));
|
|
|
+ // 然后向前端广播 数据 {type:'cut',data:theme}
|
|
|
+ io.emit("UpdateDeviceInfo", { type: "cut", data: theme, id: socket.id });
|
|
|
+ // 回复客户端
|
|
|
+ socket.write("success");
|
|
|
+ } else {
|
|
|
+ console.log(`收到tcp客户端消息:${data.toString()},未找到对应主题`);
|
|
|
+ socket.write("error: unknown command");
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ socket.on("end", () => {
|
|
|
+ console.log("tcp客户端断开连接");
|
|
|
+ });
|
|
|
+});
|
|
|
+
|
|
|
+server.listen(tcpPort, () => {
|
|
|
+ console.log("TCP 服务器已启动在 http://" + localIP + ":" + tcpPort);
|
|
|
+});
|