Socket.io-client: рдорд┐рдбрд▓рд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЬреВрди 2014  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io-client

рдореИрдВ рдПрдХ рдЧрд▓рддреА рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдорд┐рдбрд▓рд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдпрд╣рд╛рдБ рд╕рд░реНрд╡рд░ рдХреЛрдб рд╣реИ:

(function () {
    'use strict';

    var url = require("url"),
        sio = require('socket.io')(3010);

    //Authentification required
    sio.use(function (socket, next) {
        return next(new Error('refused client'));
    });
}());

рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб:

(function () {
    "use strict";

    //Network
    var socket = io.connect(SOCKET_IO_SERVER);

    socket.on('error', function(){
        console.error(arguments);
    });
}());

рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреНрд░реЛрдо рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ "рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХреНрд▓рд╛рдЗрдВрдЯ" рдпреБрдХреНрдд polling рдЕрдиреБрд░реЛрдз рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ

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

рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред @ oliveiragabriel07 рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрдиреЗрдХреНрд╢рди рдорд┐рдбрд▓рд╡реЗрдпрд░ (io.use) рдореЗрдВ рдлреЗрдВрдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реЙрдХреЗрдЯ рд╣реИред

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

рдХреЛрдИ рдирд╣реАрдВ?

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

рдЖрдкрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛рдП рд╣реИрдВ?

+1
рдорд┐рдбрд▓рд╡реЗрдпрд░ рдкрд░ рдЕрдЧрд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рдХреЙрд▓рдмреИрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

var nsp = io.of('/namespace');

// client never receives the error event
io.use(function (socket, next) {
    return next(new Error('refused client')); 
});

// this way works
nsp.use(function (socket, next) {
    return next(new Error('refused client')); 
});

@ oliveiragabriel07 рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╕рдЯреАрдХ рдореБрджреНрджрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдХрд╛рд░реНрдп рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд░реЗрдкреЛ рдмрдирд╛рдпрд╛ https://github.com/Korri/socket.io-issue688

рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ socket.io 1.0 w/'рддреНрд░реБрдЯрд┐' рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдорд┐рдбрд▓рд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред @ oliveiragabriel07 рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрдиреЗрдХреНрд╢рди рдорд┐рдбрд▓рд╡реЗрдпрд░ (io.use) рдореЗрдВ рдлреЗрдВрдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реЙрдХреЗрдЯ рд╣реИред

рдореИрдВ @jbaez рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ() рдХреЗ рдмрд╛рдж рд╡рд╛рдкрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХреНрд╕рдкреНрд░реЗрд╕.рдЬреЗрдПрд╕ рдореЗрдВ рднреА рдмрдЧ рд╣реИред
рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

io.use(function (socket, next) {
       next(new Error('refused client')); 
       return;
});

рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ

io.use(function (socket, next) {
       return next(new Error('refused client'));
});
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

patrickbussmann picture patrickbussmann  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

XMLHttpRequest рдкрд░ 'http: // localhost: 8080 / socket.io /? EIO = 3 рдФрд░ рдкрд░рд┐рд╡рд╣рди = рдорддрджрд╛рди рдФрд░ t = MgBuvgw' рдХреЛ рдореВрд▓ 'http: // localhost: 4200' рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ CorS рдиреАрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: 'Access-Control-' рдЕрдиреБрдорддрд┐-рдкреНрд░рд╛рдкреНрдд 'рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдкрд░ рдореМрдЬреВрдж рд╣реИред
imarun577 picture imarun577  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

exilonX picture exilonX  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crazyyi picture crazyyi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zappfinger picture zappfinger  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ