gemercheung 3 vuotta sitten
vanhempi
commit
e9381be214
3 muutettua tiedostoa jossa 21 lisäystä ja 10 poistoa
  1. 4 4
      src/meta.gateway.ts
  2. 13 2
      src/scene/scene.service.ts
  3. 4 4
      yarn.lock

+ 4 - 4
src/meta.gateway.ts

@@ -99,9 +99,9 @@ export class MetaGateway
       portRangeBegin: portRangeBegin,
       portRangeEnd: portRangeEnd,
       iceServers: stun_server,
-      // enableIceTcp: true,
-      // maxMessageSize
-
+      enableIceTcp: true,
+      maxMessageSize: 662144,
+      mtu: 2000,
     });
 
     this.peer.onLocalDescription((sdp, type) => {
@@ -189,7 +189,7 @@ export class MetaGateway
 
     this.gameChanel.onOpen(() => {
       console.log('channel is open');
-      this.sceneService.handleDataChanelOpen(this.gameChanel);
+      this.sceneService.handleDataChanelOpen(this.gameChanel, this.peer);
       const peers = this.peer.getSelectedCandidatePair();
       this.logger.log('配对成功', JSON.stringify(peers));
 

+ 13 - 2
src/scene/scene.service.ts

@@ -2,7 +2,7 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
 import { ClientGrpc, Client } from '@nestjs/microservices';
 import { grpcClientOptions } from './grpc-scene.options';
 import { Logger } from '@nestjs/common';
-import { DataChannel } from 'node-datachannel';
+import { DataChannel, PeerConnection } from 'node-datachannel';
 import { BehaviorSubject } from 'rxjs';
 // import * as streamBuffers from 'stream-buffers';
 import { ActionType } from './actionType';
@@ -46,6 +46,7 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
 
   private sceneGrpcService: SceneGrpcService;
   private channel: DataChannel;
+  private peer: PeerConnection;
   private logger: Logger = new Logger('SceneService');
   private frameCntInterval = 1000;
   private user_id: string;
@@ -813,8 +814,9 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
     );
   }
 
-  handleDataChanelOpen(channel: DataChannel): void {
+  handleDataChanelOpen(channel: DataChannel, peer: PeerConnection): void {
     this.channel = channel;
+    this.peer = peer;
     this.streamService.setChannel(channel);
     this.startSteaming.next(true);
     this.startStream();
@@ -1021,6 +1023,15 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
       this.frameCntSubscription = this.frameCnt.subscribe(async (frame) => {
         try {
           this.logger.log('frame', frame);
+          console.log(
+            'mock' +
+              'maxMessageSize: ' +
+              this.channel.maxMessageSize() +
+              'bytesReceived: ' +
+              this.peer.bytesReceived() +
+              'bytesSent: ' +
+              this.peer.bytesSent(),
+          );
           if (frame === 1) {
             const redisData = await this.rotateService.echo(this.user_id, true);
             this.logger.log('获取-首屏', redisData);

+ 4 - 4
yarn.lock

@@ -4456,10 +4456,10 @@ node-abi@^3.3.0:
   dependencies:
     semver "^7.3.5"
 
-node-datachannel@^0.3.2:
-  version "0.3.2"
-  resolved "https://registry.npmmirror.com/node-datachannel/-/node-datachannel-0.3.2.tgz"
-  integrity sha512-txUzjbqPDtjbxbgnO7PSwqv7KsmUcjIGZBF8zfG+B8oVcZFEPmBfyB4Sf9DBD2SCqGZ+TeZxeS2hmb0M1NUbHA==
+node-datachannel@^0.3.4:
+  version "0.3.4"
+  resolved "https://registry.yarnpkg.com/node-datachannel/-/node-datachannel-0.3.4.tgz#526fd245c3fdf9bcdcabb0c78ede3aa89531d67a"
+  integrity sha512-iIEUQNVmJ+N3KTpOoe3I+hhdl8lwdPjIT9019tipJ3YP6R0/rDlqh7yLtI5547aomANXV86XUUun/spv4FuHQQ==
   dependencies:
     prebuild-install "^7.0.1"