lqq 8 years ago
parent
commit
01e4144e14
3 changed files with 45 additions and 37 deletions
  1. 22 18
      dist/peer/app-630fff88a4.js
  2. 1 1
      dist/peer/index.html
  3. 22 18
      peer/src/js/controller/peerController.js

+ 22 - 18
dist/peer/app-630fff88a4.js

@@ -171,15 +171,15 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
     lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', '_Register', '', $scope);
     var onConnected = function (c) {
         c.on('data', function (data) {
-            //to do
-            console.info(data);
+            // console.log('接收数据:', data.byteLength);
+            lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnRecv', data, $scope);
         });
         c.on('close', function () {
             delete $scope.connectedPeers[c.peer];
         });
         $scope.connectedPeers[c.peer] = 1;
+        lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnConnected', '{"loginName":"'+c.peer+'"}', $scope);
     };
-
     $scope.options = {
         host: '120.26.136.253',
         port: 9000,
@@ -214,16 +214,25 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
         $scope.peer.on('open', function (id) {
             console.log(id);
         });
-        $scope.peer.on('connection', onConnected);
+        $scope.peer.on('connection', function(c){
+            c.on('open', function () {
+                onConnected(c);
+            });
+        });
         $scope.peer.on('error', function (err) {
             $timeout(function () {
                 $scope.init(jsonStr);
-            }, 5000);
+            }, 50000);
         });
     };
 
     $scope.connect = function (jsonStr) {
         var data = JSON.parse(jsonStr);
+        data =  _.assign(data, {
+            label: 'file',
+            serialization:'binary'
+        });
+        console.info(data);
         if (!$scope.connectedPeers[data.loginName]) {
             var c = $scope.peer.connect(data.loginName, data);
             c.on('open', function () {
@@ -231,6 +240,7 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
             });
             c.on('error', function (err) {
                 console.log(err);
+                lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnDisconnected', '{"loginName":"'+c.peer+'"}', $scope);
             });
             $scope.connectedPeers[data.loginName] = 1;
         }
@@ -238,21 +248,15 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
 
     $scope.send = function (jsonStr, data) {
         var param = JSON.parse(jsonStr);
-        var buf = new Uint8Array(data);
-        // var str = utf8.bytesToString(buf);//new TextDecoder().decode(uint8array); data.toString('utf8')//String.fromCharCode.apply(null, buf);
-
-        console.info(buf);
-        var blob = new Blob(buf)
+        data = data.slice(0);
+        // console.log('发送数据:', data.byteLength);
         var c = $scope.peer.connections[param.loginName];
-        if (c) {
-            c.send(blob);
+        if (c && c[0]) {
+            c[0].send(data);
+        }
+        else{
+            lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnDisconnected', '{"loginName":"'+param.loginName+'"}', $scope);
         }
-
-        // var reader = new FileReader();
-        // reader.readAsText(blob, 'utf-8');
-        // reader.onload = function (e) {
-        //     console.info(reader.result);
-        // }
     };
 
     $scope.close = function (jsonStr) {

+ 1 - 1
dist/peer/index.html

@@ -20,7 +20,7 @@
     <script src="../bower_components/angular/angular.min.js"></script>
     <script src="../bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
     <script src="../bower_components/angular-animate/angular-animate.min.js"></script>
-    <script src="app-630fff88a4.js"></script>
+    <script src="app-9a1ffb26eb.js"></script>
 </body>
 
 </html>

+ 22 - 18
peer/src/js/controller/peerController.js

@@ -5,15 +5,15 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
     lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', '_Register', '', $scope);
     var onConnected = function (c) {
         c.on('data', function (data) {
-            //to do
-            console.info(data);
+            // console.log('接收数据:', data.byteLength);
+            lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnRecv', data, $scope);
         });
         c.on('close', function () {
             delete $scope.connectedPeers[c.peer];
         });
         $scope.connectedPeers[c.peer] = 1;
+        lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnConnected', '{"loginName":"'+c.peer+'"}', $scope);
     };
-
     $scope.options = {
         host: '120.26.136.253',
         port: 9000,
@@ -48,16 +48,25 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
         $scope.peer.on('open', function (id) {
             console.log(id);
         });
-        $scope.peer.on('connection', onConnected);
+        $scope.peer.on('connection', function(c){
+            c.on('open', function () {
+                onConnected(c);
+            });
+        });
         $scope.peer.on('error', function (err) {
             $timeout(function () {
                 $scope.init(jsonStr);
-            }, 5000);
+            }, 50000);
         });
     };
 
     $scope.connect = function (jsonStr) {
         var data = JSON.parse(jsonStr);
+        data =  _.assign(data, {
+            label: 'file',
+            serialization:'binary'
+        });
+        console.info(data);
         if (!$scope.connectedPeers[data.loginName]) {
             var c = $scope.peer.connect(data.loginName, data);
             c.on('open', function () {
@@ -65,6 +74,7 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
             });
             c.on('error', function (err) {
                 console.log(err);
+                lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnDisconnected', '{"loginName":"'+c.peer+'"}', $scope);
             });
             $scope.connectedPeers[data.loginName] = 1;
         }
@@ -72,21 +82,15 @@ angular.module('app').controller('PeerController', ['$scope', '$state', '$timeou
 
     $scope.send = function (jsonStr, data) {
         var param = JSON.parse(jsonStr);
-        var buf = new Uint8Array(data);
-        // var str = utf8.bytesToString(buf);//new TextDecoder().decode(uint8array); data.toString('utf8')//String.fromCharCode.apply(null, buf);
-
-        console.info(buf);
-        var blob = new Blob(buf)
+        data = data.slice(0);
+        // console.log('发送数据:', data.byteLength);
         var c = $scope.peer.connections[param.loginName];
-        if (c) {
-            c.send(blob);
+        if (c && c[0]) {
+            c[0].send(data);
+        }
+        else{
+            lxtalkClient.Invoke('{C62F6059-7741-4AC1-8B8F-97EB5F7C116C}', 'OnDisconnected', '{"loginName":"'+param.loginName+'"}', $scope);
         }
-
-        // var reader = new FileReader();
-        // reader.readAsText(blob, 'utf-8');
-        // reader.onload = function (e) {
-        //     console.info(reader.result);
-        // }
     };
 
     $scope.close = function (jsonStr) {