๋ด๊ฐ ์ค์๋ฅผ ํ ์๋ ์์ง๋ง ํด๋ผ์ด์ธํธ์์ ๋ฏธ๋ค์จ์ด ์ค๋ฅ๋ฅผ ์ก์ ์ ์์ต๋๋ค. ๋ค์์ ์๋ฒ ์ฝ๋์ ๋๋ค.
(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
์์ฒญ์ด ํ์๋ฉ๋๋ค.
์๋ฌด๋?
๊ทํ์ ์๋ฅผ ์คํํ ์ ์์ต๋๋ค. ๋ ๋์ ๋ฐฉ๋ฒ์ ์คํจํ ํ ์คํธ ๋๋ ์ ์ฅ์์ ์คํจ๋ฅผ ๋ณด๊ธฐ ์ํด ์คํํ ์ ์๋ ์์ ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ์ํฅ์ ์ค ์ ์๋ ๋ค๋ฅธ ์์๊ฐ ๋๋ฌด ๋ง์ต๋๋ค.
๋ฌธ์ ๋ฅผ ๋๋ฒ๊ทธํ๊ธฐ ์ํด ์ด๋ค ๋จ๊ณ๋ฅผ ์ํํ์ต๋๊น?
+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/the 'error' ์ด๋ฒคํธ ํธ๋ค๋ฌ์์ ํด๋ผ์ด์ธํธ์ ๋ฏธ๋ค์จ์ด ์ค๋ฅ๋ฅผ ์ก์ ์ ์์ต๋๋ค.
๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ๋๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. @oliveiragabriel07 ์๋ฃจ์ ๋ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ง๋ง ํด๋ผ์ด์ธํธ๊ฐ ์ผ๋ฐ ์ฐ๊ฒฐ ๋ฏธ๋ค์จ์ด( io.use )์์ throw๋ ์ค๋ฅ๋ฅผ ์์ ํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ 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'));
});
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ๋๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. @oliveiragabriel07 ์๋ฃจ์ ๋ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ง๋ง ํด๋ผ์ด์ธํธ๊ฐ ์ผ๋ฐ ์ฐ๊ฒฐ ๋ฏธ๋ค์จ์ด( io.use )์์ throw๋ ์ค๋ฅ๋ฅผ ์์ ํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ socket.io ์๋ฒ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.