Michelle Bu 12 tahun lalu
induk
melakukan
e23fe0be93
3 mengubah file dengan 12 tambahan dan 8 penghapusan
  1. 6 4
      demo/static/peer.js
  2. 6 4
      dist/peer.js
  3. 0 0
      dist/peer.min.js

+ 6 - 4
demo/static/peer.js

@@ -891,13 +891,13 @@ Peer.prototype._startSocket = function() {
   this._socket.on('error', function(error) {
     util.log(error);
     self.emit('error', error);
-    self.emit('close');
+    self.destroy();
   });
   this._socket.on('close', function() {
     var msg = 'Underlying socket has closed';
     util.log('error', msg);
     self.emit('error', msg);
-    self.emit('close');
+    self.destroy();
   });
   this._socket.start();
 }
@@ -922,7 +922,6 @@ Peer.prototype._handleServerJSONMessage = function(message) {
     case 'ID-TAKEN':
       this.emit('error', 'ID `'+this.id+'` is taken');
       this.destroy();
-      this.emit('close');
       break;
     case 'OFFER':
       var options = {
@@ -960,7 +959,6 @@ Peer.prototype._handleServerJSONMessage = function(message) {
     case 'INVALID-KEY':
       this.emit('error', 'API KEY "' + this._key + '" is invalid');
       this.destroy();
-      this.emit('close');
       break;
     case 'PORT':
       //if (util.browserisms === 'Firefox') {
@@ -991,6 +989,7 @@ Peer.prototype._cleanup = function() {
   util.setZeroTimeout(function(){
     self._socket.close();
   });
+  this.emit('close');
 };
 
 /** Listeners for DataConnection events. */
@@ -1183,6 +1182,9 @@ DataConnection.prototype._configureDataChannel = function() {
   this._dc.onmessage = function(e) {
     self._handleDataMessage(e);
   };
+  this._dc.onclose = function(e) {
+    self.emit('close');
+  };
 };
 
 

+ 6 - 4
dist/peer.js

@@ -891,13 +891,13 @@ Peer.prototype._startSocket = function() {
   this._socket.on('error', function(error) {
     util.log(error);
     self.emit('error', error);
-    self.emit('close');
+    self.destroy();
   });
   this._socket.on('close', function() {
     var msg = 'Underlying socket has closed';
     util.log('error', msg);
     self.emit('error', msg);
-    self.emit('close');
+    self.destroy();
   });
   this._socket.start();
 }
@@ -922,7 +922,6 @@ Peer.prototype._handleServerJSONMessage = function(message) {
     case 'ID-TAKEN':
       this.emit('error', 'ID `'+this.id+'` is taken');
       this.destroy();
-      this.emit('close');
       break;
     case 'OFFER':
       var options = {
@@ -960,7 +959,6 @@ Peer.prototype._handleServerJSONMessage = function(message) {
     case 'INVALID-KEY':
       this.emit('error', 'API KEY "' + this._key + '" is invalid');
       this.destroy();
-      this.emit('close');
       break;
     case 'PORT':
       //if (util.browserisms === 'Firefox') {
@@ -991,6 +989,7 @@ Peer.prototype._cleanup = function() {
   util.setZeroTimeout(function(){
     self._socket.close();
   });
+  this.emit('close');
 };
 
 /** Listeners for DataConnection events. */
@@ -1183,6 +1182,9 @@ DataConnection.prototype._configureDataChannel = function() {
   this._dc.onmessage = function(e) {
     self._handleDataMessage(e);
   };
+  this._dc.onclose = function(e) {
+    self.emit('close');
+  };
 };
 
 

File diff ditekan karena terlalu besar
+ 0 - 0
dist/peer.min.js


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini