gemercheung 3 éve
szülő
commit
7d97cda3e6
2 módosított fájl, 82 hozzáadás és 71 törlés
  1. 40 43
      packages/main/command/test.mjs
  2. 42 28
      packages/renderer/src/App.vue

+ 40 - 43
packages/main/command/test.mjs

@@ -7,7 +7,7 @@ const userStartId = process.argv[4];
 const testSceneNum = process.argv[5] || "t-test";
 const roomStartId = process.argv[6] || "00001";
 const isMockCamera = process.argv[7] || 0;
-const cameraInterval = process.argv[8] || 3000;
+const cameraInterval = process.argv[8] || 100;
 const roomNumber = process.argv[9] || 50;
 let testCamera;
 console.log(
@@ -108,36 +108,38 @@ const createClient = ({ userId, nickName, from, role, oid, roomId }) => {
     },
   });
 
-  // if (Number(isMockCamera) === 1 && Number(from) === 0) {
-  //   console.log(userId + "底层v3开启发送镜头");
-  //   setInterval(() => {
-  //     const data = {
-  //       testUserId: userId,
-  //       item: {
-  //         qua: {
-  //           _x: -0.11495106988815072,
-  //           _y: 0.13408027376477993,
-  //           _z: 0.015660797097947755,
-  //           _w: 0.9841562229407423,
-  //         },
-  //         mode: "panorama",
-  //         pos: {
-  //           x: 1.7477431297302246,
-  //           y: -0.1338435709476471,
-  //           z: 1.3797638416290283,
-  //         },
-  //         type: "Rotate",
-  //         pano: "1",
-  //         target: {
-  //           x: 1.4874317088952322,
-  //           y: -0.3643028004004215,
-  //           z: 0.442146378191566,
-  //         },
-  //       },
-  //     };
-  //     socket.emit("client to server event", data);
-  //   }, EMIT_INTERVAL_IN_MS_camera);
-  // }
+  if (Number(isMockCamera) === 1 && Number(from) === 0 && role === "leader") {
+    console.log(
+      `房间${roomId} 房主${userId} from:${from}--> v3开启发送定时${cameraInterval}ms镜头`
+    );
+    setInterval(() => {
+      const data = {
+        testUserId: userId,
+        item: {
+          qua: {
+            _x: -0.11495106988815072,
+            _y: 0.13408027376477993,
+            _z: 0.015660797097947755,
+            _w: 0.9841562229407423,
+          },
+          mode: "panorama",
+          pos: {
+            x: 1.7477431297302246,
+            y: -0.1338435709476471,
+            z: 1.3797638416290283,
+          },
+          type: "Rotate",
+          pano: "1",
+          target: {
+            x: 1.4874317088952322,
+            y: -0.3643028004004215,
+            z: 0.442146378191566,
+          },
+        },
+      };
+      socket.emit("webSyncAction", data);
+    }, cameraInterval);
+  }
 
   // setInterval(() => {
   //   socket.emit("client to server event");
@@ -154,14 +156,16 @@ const createClient = ({ userId, nickName, from, role, oid, roomId }) => {
   //   console.log(`客户端${userId}收到房间播报-MOCK"`, data);
   // });
 
-  socket.on("server to client event", (data) => {
+  socket.on("webSyncAction", (data) => {
+    // console.log();
+    testCamera = `webSyncAction:${userId}收到-->${data.testUserId}的webSyncAction`;
     packetsSinceLastReport++;
   });
 
   socket.on("disconnect", (reason) => {
     console.log(`disconnect due to ${reason}`);
   });
-
+  clientCount++;
   // if (++clientCount < MAX_CLIENTS) {
   //   setTimeout(createAgent, CLIENT_CREATION_INTERVAL_IN_MS);
   // }
@@ -181,14 +185,6 @@ groups(arr, chunkSize).forEach((group, gIndex) => {
       const oid = `oid-${userStartId}${agent}`;
       const roomId = `${roomStartId}${gIndex + 1}`;
       let role = index === 0 ? "leader" : "customer";
-      console.log("agent-2", {
-        userId,
-        nickName,
-        role,
-        oid,
-        roomId,
-      });
-
       createClient({ userId, nickName, from: "0", role: role, oid, roomId });
       createClient({ userId, nickName, from: "1", role: role, oid, roomId });
       createClient({ userId, nickName, from: "2", role: role, oid, roomId });
@@ -197,6 +193,7 @@ groups(arr, chunkSize).forEach((group, gIndex) => {
     }
   });
 });
+
 // createAgent();
 
 const printReport = () => {
@@ -208,7 +205,7 @@ const printReport = () => {
 
   console.log(
     `client count: ${clientCount} ; average packets received per second: ${packetsPerSeconds} ${
-      testCamera ? " carmera:" + JSON.stringify(testCamera) : ""
+      testCamera ? " carmera:" + testCamera : ""
     }`
   );
 
@@ -216,4 +213,4 @@ const printReport = () => {
   lastReport = now;
 };
 
-// setInterval(printReport, 5000);
+setInterval(printReport, 5000);

+ 42 - 28
packages/renderer/src/App.vue

@@ -1,18 +1,18 @@
 <script lang="ts" setup>
-import "./app.css";
-import { ipc } from "#preload";
-import { Terminal } from "xterm";
-import { onMounted, ref } from "vue";
-import { FitAddon } from "xterm-addon-fit";
+import './app.css';
+import { ipc } from '#preload';
+import { Terminal } from 'xterm';
+import { onMounted, ref } from 'vue';
+import { FitAddon } from 'xterm-addon-fit';
 
 //
 const config = ref({
-  url: "wss://test-socket.4dkankan.com",
+  url: 'wss://test-socket.4dkankan.com',
   count: 200,
-  userStartId: "6666666",
-  testSceneNum: "t-test",
-  roomId: "00001",
-  isMockCamera: "0",
+  userStartId: '6666666',
+  testSceneNum: 't-test',
+  roomId: '00001',
+  isMockCamera: 1,
   cameraInterval: 100,
   roomNumber: 50,
   isStart: false,
@@ -26,18 +26,18 @@ onMounted(() => {
   terminal.loadAddon(fitAddon);
 
   const terminalContainer: HTMLElement | null =
-    document.getElementById("terminal");
+    document.getElementById('terminal');
   if (terminalContainer) {
     terminal.open(terminalContainer);
     fitAddon.fit();
     // console.log('ipcRenderer', window.ipc);
-    ipc.on("terminal.incomingData", (event, data) => {
-      console.log("1111", data);
+    ipc.on('terminal.incomingData', (event, data) => {
+      console.log('1111', data);
       if (terminal) terminal.write(data);
     });
   }
-  ipc.on("terminal.resourcesPath", (_, data) => {
-    window.alert("resourcesPath: " + JSON.stringify(data));
+  ipc.on('terminal.resourcesPath', (_, data) => {
+    window.alert('resourcesPath: ' + JSON.stringify(data));
   });
 });
 
@@ -45,7 +45,7 @@ onMounted(() => {
 
 function start() {
   config.value.isStart = true;
-  ipc.send("start-Benmark-test", {
+  ipc.send('start-Benmark-test', {
     url: config.value.url,
     count: config.value.count,
     userStartId: config.value.userStartId,
@@ -58,7 +58,7 @@ function start() {
 }
 function stop() {
   config.value.isStart = false;
-  ipc.send("start-Benmark-test", {
+  ipc.send('start-Benmark-test', {
     stop: true,
   });
   setTimeout(() => {
@@ -74,46 +74,60 @@ function stop() {
   <fieldset>
     <legend>配置信息</legend>
     <figure>
-      <span class="label">socket地址URL:</span> <input v-model="config.url" />
+      <span class="label">socket地址URL:</span> <input v-model="config.url">
     </figure>
     <figure>
-      <span class="label">测试人数:</span> <input v-model="config.count" />
+      <span class="label">测试人数:</span> <input v-model="config.count">
     </figure>
     <figure>
       <span class="label">用户起始ID:</span>
-      <input v-model="config.userStartId" />
+      <input v-model="config.userStartId">
     </figure>
     <figure>
       <span class="label">测试场景号:</span>
-      <input v-model="config.testSceneNum" />
+      <input v-model="config.testSceneNum">
     </figure>
     <figure>
       <span class="label">房间起始ID:</span>
-      <input v-model="config.roomId" />
+      <input v-model="config.roomId">
     </figure>
 
     <figure>
       <span class="label">单个房间人数:</span>
-      <input v-model="config.roomNumber" />
+      <input v-model="config.roomNumber">
     </figure>
     <figure>
       <span class="label">是否开启发送镜头数据:</span>
       <select v-model="config.isMockCamera">
-        <option value="1">是</option>
-        <option value="0">否</option>
+        <option value="1">
+          是
+        </option>
+        <option value="0">
+          否
+        </option>
       </select>
     </figure>
     <figure>
       <span class="label">镜头数据间隔:</span>
-      <input v-model="config.cameraInterval" />
+      <input v-model="config.cameraInterval">
     </figure>
   </fieldset>
 
   <div class="btns">
-    <button v-show="!config.isStart" class="start" @click="start">
+    <button
+      v-show="!config.isStart"
+      class="start"
+      @click="start"
+    >
       开始测试
     </button>
-    <button v-show="config.isStart" class="end" @click="stop">停止测试</button>
+    <button
+      v-show="config.isStart"
+      class="end"
+      @click="stop"
+    >
+      停止测试
+    </button>
   </div>
   <div id="terminal" />
 </template>