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 ). Π― Π΄ΡƒΠΌΠ°ΡŽ, это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сСрвСра socket.io.

ВсС 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 с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ событий «ошибка».

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ использовании пространств ΠΈΠΌΠ΅Π½. РСшСниС @oliveiragabriel07 сработало ΠΈ для мСня, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСниС ΠΎΠ± ошибкС Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии ΠΎΠ±Ρ‰Π΅Π³ΠΎ соСдинСния ( io.use ). Π― Π΄ΡƒΠΌΠ°ΡŽ, это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сСрвСра socket.io.

Я согласСн с @jbaez.

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ послС next(). я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ошибка ΠΈ Π² express.js.
Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊ:

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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ