Socket.io: рд╕рд░реНрд╡рд░ рдХреЗ рд╕реЙрдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ (рд╕рдЪ)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдорд╛рд░реНрдЪ 2016  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рд╕рд░реНрд╡рд░ : рдиреЛрдб + рд╕реЙрдХреЗрдЯ.io

var io = require( 'socket.io' )( 3000 );

io.on( 'connection', function ( socket ) ...

// at some point if client auth fails, server may kick him out:

socket.disconnect( true );

рдХреНрд▓рд╛рдЗрдВрдЯ : html/js + socket.io 1.4.5

socket = io.connect( 'http://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: 99999
} );

socket.on( 'connect', function () {
    console.log( 'connected to server' );
} );

socket.on( 'disconnect', function () {
    console.log( 'disconnected to server' );
} );

рдКрдкрд░ рд╕рд░рд▓реАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╣ рдЖрдзрд╛рд░ рд╣реИред рдпрджрд┐ рд╕рд░реНрд╡рд░ рдбрд╛рдЙрди рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд╛рдпрд░ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкреБрди: рдХрдиреЗрдХреНрд╢рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдореИрдВ рдЕрдВрдд рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд╛рдпрд░ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рдЯреЛрдХрди рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдбреАрдмреА рдкрд░ рдПрдХ рдХреНрд╡реЗрд░реА рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИ, рдпрд╛ рдСрде рдЯреЛрдХрди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЬреЛ рднреА рд╣реЛред

рдЗрд╕ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдкреЛрд▓рд┐рдВрдЧ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреЗрдЬ (рдХреНрд▓рд╛рдЗрдВрдЯ) рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрджрд╕реВрд░рдд рд╕рдорд╛рдзрд╛рди рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░рдг рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ() рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рдореИрдиреЗрдЬрд░.рд╕реНрдХрд┐рдк рд░реАрдХрдиреЗрдХреНрдЯ" рд╕рдВрдкрддреНрддрд┐ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдкреБрди: рдХрдиреЗрдХреНрд╢рди рдорддрджрд╛рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдХреБрдЫ рдЬрд╡рд╛рдм рдорд┐рд▓реЗ рд▓реЗрдХрд┐рди рд╕рднреА рдЕрд╕рдлрд▓ рд░рд╣реЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕рднреА рд╕рд╛рдорд╛рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдереЗ:

  • рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ.рд░реАрдХрдиреЗрдХреНрдЯ ();
  • рд╕реЙрдХреЗрдЯ.рд╕реЙрдХреЗрдЯ.рд░реАрдХрдиреЗрдХреНрдЯ (); // ??
  • рд╕реЙрдХреЗрдЯ = io.connect (' http://127.0.0.1 : 3000', ...//рдХрдиреЗрдХреНрдЯ рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╢реБрдХреНрд░рд┐рдпрд╛

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдпрд╣ рд╕реНрдерд┐рд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

рдЧреНрд░рд╛рд╣рдХ :

var app = {
...
socket: null,
connect: function() {
  var self = this;
  if( self.socket ) {
    self.socket.destroy();
    delete self.socket;
    self.socket = null;
  }
  this.socket = io.connect( 'http://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  } );
  this.socket.on( 'connect', function () {
    console.log( 'connected to server' );
  } );
  this.socket.on( 'disconnect', function () {
    console.log( 'disconnected from server' );
    window.setTimeout( 'app.connect()', 5000 );
  } );
}
...
} // var app

рд╕рднреА 35 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдпрд╣ рд╕реНрдерд┐рд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

рдЧреНрд░рд╛рд╣рдХ :

var app = {
...
socket: null,
connect: function() {
  var self = this;
  if( self.socket ) {
    self.socket.destroy();
    delete self.socket;
    self.socket = null;
  }
  this.socket = io.connect( 'http://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  } );
  this.socket.on( 'connect', function () {
    console.log( 'connected to server' );
  } );
  this.socket.on( 'disconnect', function () {
    console.log( 'disconnected from server' );
    window.setTimeout( 'app.connect()', 5000 );
  } );
}
...
} // var app

рдЗрд╕реА рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

  this.socket = io.connect( 'ws://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  } );

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЛ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдЕрднреА рднреА рдПрдХ рд╕рддрдд рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд▓рд╛рд╢ рд╣реИред

рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ ???

рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

socket.connect()
1.5.1 рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред

@sconway рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдкреНрд░рдмреБрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреЛрдИ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдирдорд╕реНрддреЗ,

рдПрдХ рд╣реА рдкреНрд░рд╢реНрди рдерд╛, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг, рдпрд╛ рддреЛ рдПрдХ рдордЬрдмреВрдд рд╕рдорд╛рдзрд╛рди рдпрд╛ рдПрдХ рдордЬрдмреВрдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ... (рджреЛрдиреЛрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)

http://stackoverflow.com/questions/10437584/socket-io-reconnect

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ socket.io рдореЗрдВ рд╣реА рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 2.0.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдСрдЯреЛрд░рдХрдиреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдпрд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдХреЗрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╕рднреА рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдмрдВрдзрдХ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдПрд░реЗ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рддрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм рдбрд┐рд╕реНрдХрдиреЗрдХреНрд╢рди рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ рд╣реЛред
рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
.on('disconnect', reason => { if(reason === 'io server disconnect') { //you should renew token or do another important things before reconnecting socket.connect(); } });
рдпрд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рдкреНрд░рдмрдВрдзрдХ рдХреА рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рд╣реИ
.on('disconnect', () => { if(socket.io.connecting.indexOf(socket) === -1){ //you should renew token or do another important things before reconnecting socket.connect(); } })

рдореИрдВрдиреЗ рдЗрд╕реЗ @DrLightman рдкрд╕рдВрдж

var WebSocketServer = {
    isConnected: false,
    socket: null,
    interval: null,
    connect() {
        if (this.socket) {
            this.socket.destroy();
            delete this.socket;
            this.socket = null;
        }
        this.socket = io.connect('http://localhost:9010', {
            reconnection: false
        });
        this.socket.on('connect', () => {
            this.isConnected = true;
            this.socket.emit('authentication', { user_id: 2751, token: "abc" });
            this.socket.on('authenticated', function() {

            });
        });

        this.socket.on('disconnect', () => {
            this.isConnected = false;
            this.interval = window.setInterval(() => {
                if (this.isConnected) {
                    clearInterval(this.interval);
                    this.interval = null;
                    return;
                }
                WebSocketServer.connect()
            }, 5000);
        });

        return this.socket;
    }
}

var socket = WebSocketServer.connect();

@DrLightman рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб/рдЖрдИрдУрдПрд╕ рдРрдкреНрд╕ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
var io= new socketio.connect('http://192.168.43.79:3000',{'forceNew':true});

@pablodgonzalez рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рд╣реИ, рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ?

@programmerCs рд╣рд╛рдБ, рдпрд╣ рд╣реИред рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдП рдмрд┐рдирд╛ред

рдЗрд╕ рдореБрджреНрджреЗ рдиреЗ рдореЗрд░реЗ рдмрд╣реБрдд рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рджреВрд░ рдХрд░ рджрд┐рдпрд╛
рд╕рдмрдХреЛ рдзрдиреНрдпрд╡рд╛рдж

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдЬрдм рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдкрдиреЗ рдЯреЛрдХрди рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдИрд╡реЗрдВрдЯ рднреЗрдЬрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрд╕реЗ рдЯреЛрдХрди рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рд╕реЙрдХреЗрдЯ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

...рдЕрдм рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдзрдХреЗрд▓рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ! :рдардВрдбрд╛_рдкрд╕реАрдирд╛: :рдореБрд╕реНрдХреБрд░рд╛рдирд╛:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдорд┐рдЯрд░ рд╕реЗ 'рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ' рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реБрдирдирд╛ рдФрд░ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬреЛ рдИрд╡реЗрдВрдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХрд┐рд╕реА рднреА рдЙрддреНрд╕рд░реНрдЬрди рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╣рдореЗрд╢рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

@qassa рдЕрдЧрд░ рдЖрдкрдХреЛ рдЙрддреНрд╕рд░реНрдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдкреБрд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЙрд▓рдмреИрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреЗ рд╕реНрд╡рд╛рдЧрдд рдХреА рдЧрд╛рд░рдВрдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ socket.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХрддрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп/рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреИрд╕реЗ рдордЪреНрдЫрд░/mqtt рдпрд╛ рдЬреЛ рднреА рд╣реЛред
рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рд▓реЗрдХрд┐рди рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЙрдХреЗрдЯ (рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛) рдПрдХ рд╕реЙрдХреЗрдЯ рдЬрд▓реНрдж рд╣реА рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдЧрд╛рд░рдВрдЯреА рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рдкреБрди: рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рд╕реЙрдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрдЯ() рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

Lemme рдЗрд╕реЗ рд╕реАрдзреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдХреНрдпрд╛ рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░рдг рд╕реЗ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдХрд╛рд░рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ? рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ рддреЛ рд╕реЙрдХреЗрдЯрд┐рдпреЛ (рдХреНрд▓рд╛рдЗрдВрдЯ) рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛! , рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ io=new socketio(тАШhttp://yourserver.comтАЩ, {'forceNew':true}); рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рдЕрднреА рднреА рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рд╕реНрдЯрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдмрд╕ io.disconnect() рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ

рд╕реЗ: CxRes [mailto:[email protected]]
рднреЗрдЬрд╛ рдЧрдпрд╛: рдлрд░рд╡рд░реА 01, 2018 09:50 рдЕрдкрд░рд╛рд╣реНрди
рдкреНрд░рддрд┐: socketio/socket.io [email protected]
рдкреНрд░рддрд┐рд▓рд┐рдкрд┐: devyaz [email protected] ; рдЯрд┐рдкреНрдкрдгреА рдЯрд┐рдкреНрдкрдгреА @noreply.github.com
рд╡рд┐рд╖рдп: рдкреБрди: [socketio/socket.io] рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕реЙрдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ (рд╕рдЪ) (#2476)

рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub https://github.com/socketio/socket.io/issues/2476#issuecomment-362381171 рдкрд░ https://github.com/notifications/unsubscribe-auth/ ATfQSQQ1LJ90E6FqsdmiMktpp2AdoLuxks5tQhVQgaJpZM4HsVs7 ред https://github.com/notifications/beacon/ATfQSYqwkgtrHZk9FASNZUl69ps9ZYYCks5tQhVQgaJpZM4HsVs7.gif

@devyaz рдЖрдИ рд▓рд╡

рдкреНрд░рд▓реЗрдЦрди @pablodgonzalez рдХреЗ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: https://github.com/socketio/socket.io-client/commit/afb952d854e1d8728ce07b7c3a9f0dee2a61ef4e

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

io.socket рдХреЗ 0.8.3 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдХрд╛рд▓реЗрдВ 1.0.0

compile('io.socket:socket.io-client:0.8.3') {
    exclude group: 'org.json', module: 'json'
}

рдЗрд╕реА рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

  this.socket = io.connect( 'ws://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  } );

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЛ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдЕрднреА рднреА рдПрдХ рд╕рддрдд рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд▓рд╛рд╢ рд╣реИред

рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ ???

рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд╕ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ: //

рдЗрд╕реА рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

  this.socket = io.connect( 'ws://127.0.0.1:3000', {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  } );

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЛ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рдЕрднреА рднреА рдПрдХ рд╕рддрдд рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд▓рд╛рд╢ рд╣реИред
рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ ???

рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд╕ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ: //

рд╣реИрд▓реЛ, рднрд╛рдИред рдпрд╣ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕рд┐рд░реНрдл wss.it рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддреЛ рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, ws рдорддрджрд╛рди рди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдмрд╕ рд░рдЦрдиреЗ рдФрд░ рддреЗрдЬрд╝ рд░реАрдХрдирдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рд╢реНрди рд╣реИред

рдЬрдм рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдХреЗрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╕рднреА рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдмрдВрдзрдХ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдПрд░реЗ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рддрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм рдбрд┐рд╕реНрдХрдиреЗрдХреНрд╢рди рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ рд╣реЛред
рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

.on('disconnect', reason => { 
  if(reason === 'io server disconnect') {
    //you should renew token or do another important things before reconnecting
    socket.connect();
  }
});

рдпрд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рдкреНрд░рдмрдВрдзрдХ рдХреА рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рд╣реИ

.on('disconnect',  () => {
  if(socket.io.connecting.indexOf(socket) === -1){
    //you should renew token or do another important things before reconnecting
    socket.connect();
  }
})

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ рдХрд┐ рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рдкреНрд░рдмрдВрдзрдХ рдХреА рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдиреЗ рдХреЗрд╡рд▓ рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдпрд╛ рдЬреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдп @emclab , рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрджрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреБрдЫ рдирдП рдХрд╛рд░рдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП "рдХрд╛рд░рдг" рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрдиреЗрдХреНрд╢рди рд╕реВрдЪреА рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рд░рдг рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдорд╛рдорд▓рд╛ рд╣реИ, рддрджрдиреБрд╕рд╛рд░ рдкрдврд╝реЗрдВ рдФрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдирд╣реАрдВ рд╣реИред
рдЕрд╕реНрд╡реАрдХрд░рдг: рдпрджрд┐ рдЖрдк рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд░рд┐рдлреИрдХреНрдЯрд░ рдпрд╛ рддрдВрддреНрд░ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рд╕рд╛рджрд░!

рдореИрдВ рдЖрдпрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕реЙрдХреЗрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдБред рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдкреГрд╖реНрда рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ socket.on рд╣реИред рдореИрдВ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧрдЖрдЙрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЙрдХреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдореИрдВ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдЙрддреНрд╕рд░реНрдЬрди рдкрд░ рдПрдХрд╛рдзрд┐рдХ рд╕реЙрдХреЗрдЯ.рдСрди ('рдИрд╡реЗрдВрдЯ') рд╣реВрдВред
рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

Socket.disconnect() рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕реЛрдо, 11 рдирд╡рдВрдмрд░ 2019 06:16 krunal9421, рдкрд░ [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдореИрдВ рдЖрдпрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕реЙрдХреЗрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдБред рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ
рд╕реЙрдХреЗрдЯ.рдСрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдкреГрд╖реНрда рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВред рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реЙрдХреЗрдЯ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╕реЗ application
рд▓реЙрдЧрдЖрдЙрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЙрдХреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдореИрдВ рдПрдХрд╛рдзрд┐рдХ рд╕реЙрдХреЗрдЯ рд╣реВрдВред ('рдИрд╡реЗрдВрдЯ')
рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдЙрддреНрд╕рд░реНрдЬрди рдкрд░ред
рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/2476?email_source=notifications&email_token=AE35ASNI2K4DWOB4P2HPSATQTDMC7A5CNFSM4B5RLM52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW65#TNMVW52ZLOK
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AE35ASJPORGOSYQAEJEHHG3QTDMC7ANCNFSM4B5RLM5Q
.

@devyaz рдореИрдВ socket.disconnect() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЙрдХреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред
рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдирдореВрдирд╛ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИред
https://i.stack.imgur.com/wrIEv.pngред

рдореИрдВрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╕рд░реНрд╡рд░ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдХреНрд╖ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╛рдиреА рд╕рд░реНрд╡рд░ рдЪрд╛рд╣рд┐рдП
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ред рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
socket.disconnect

рдмреБрдз, 20 рдирд╡рдВрдмрд░ 2019 05:39 krunal9421, рдкрд░ [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

@devyaz https://github.com/devyaz рдореИрдВ рд╕реЙрдХреЗрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ
рд╕реЙрдХреЗрдЯ.рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдирдореВрдирд╛ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИред
https://i.stack.imgur.com/wrIEv.pngред

рдореИрдВрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/2476?email_source=notifications&email_token=AE35ASK4NY4SKG5JWSBDKCTQUSWNVA5CNFSM4B5RLM52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AE35ASIFTISGTIAQQ7UKCJDQUSWNVANCNFSM4B5RLM5Q
.

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдЕрдкрдиреЗ рд▓реЙрдЧрдЖрдЙрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ this.socketstatus.disconnect() рдХрд░реЗрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди ".on("connected",.....)" рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╢реБрдХреНрд░, 22 рдирд╡рдВрдмрд░ 2019 11:50 krunal9421, рдкрд░ [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/2476?email_source=notifications&email_token=AE35ASJTREAYRMF4THBK3FDQU6TOLA5CNFSM4B5RLM52YY3PNVWWWK3TUL52HS4DFVREXGEE43VMVBW63#TUP-5HC57ZK5
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AE35ASJGKVGVUQNK454C63DQU6TOLANCNFSM4B5RLM5Q
.

рдХрдиреЗрдХреНрд╢рди рдЦреЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕реЙрдХреЗрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд╣реИ ред
StackOverflow рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрддреНрддрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВ T_T... рдХреГрдкрдпрд╛ рдореЗрд░реА рдорджрдж рдХрд░реЗрдВ!

рдореИрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдиреЛрдб.рдЬреЗрдПрд╕ + рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реЗрдкреИрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореЗрд░реЗ рдлреЛрди рдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЯреИрдм рдпрд╛ рд▓реЙрдХ рд╕реНрдХреНрд░реАрди рдореЗрдВ рдпрд╣ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ ( ping timeout рдпрд╛ transport closed рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдлрд╝реЛрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд▓реИрдкрдЯреЙрдк рдпрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

рд╣рд╛рдп @asiermusa рд▓реЗрдХрд┐рди рд╡реЗрдм рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм-рд╡рд░реНрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЪреАрдпрд░реНрд╕!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

thebinarypenguin picture thebinarypenguin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jloa picture jloa  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adammw picture adammw  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

distracteddev picture distracteddev  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MyMomSaysIAmSpecial picture MyMomSaysIAmSpecial  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ