๋ด๊ฐ Nodejs, Express ์๋ฒ์ MongoDB๋ฅผ ํจ๊ป SocketIo๋ฅผ ์ฌ์ฉํ๊ณ , ๋๋ ๋ฌธ์๋ฅผ ๋ฐ๋๋ค. ๊ทธ๊ฒ์ ๋ฌธ์ ์์ด ์๋ก์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํ ๋ ์ ์๋ํฉ๋๋ค. Http ์์ฒญ์ ๋ง๋ค ๋ ์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํ ์ ์๊ณ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
socket.io.js:7370 WebSocket ์ฐ๊ฒฐ
'ws:// localhost:28232/socket.io/?userId=userAmr&EIO=3&transport=websocket&sid=wNTTgrUD-PSeNaIcAAAF '
์คํจ: WebSocket ํธ๋์ ฐ์ดํฌ ์ค ์ค๋ฅ: ์๊ธฐ์น ์์ ์๋ต ์ฝ๋:
400
Http ์์ฒญ ์ ์ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ ๋ฌธ์ ์์ด ๋ฉ์์ง๋ฅผ ๊ณ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
์์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋๋ฒ๊น ํ๊ณ ํด๋ผ์ด์ธํธ ์์ผ ์์ฒญ์ด ์ฐ๊ฒฐ ๊ธฐ๋ฅ์ผ๋ก ์ด๋ํ ๋ค์ errorCode:1 ์ ์คํํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค
์ด๊ฒ์ ๋ด ์ฝ๋
/**
* Create Express server.
*/
const app = express();
// API endpoint
app.get('/api/test',(req,res)=>{
res.status(200).send({test:"test"});
});
/**
* Init socket
*/
const server = require('http').Server(app);
const io = require('socket.io')(server);
io.on('connection', (socket) => {
// emit message to group
socket.on('emitMessage', (data, callback) => {
io.emit('emitMessage', data);
});
});
์ด๊ฒ์ ์คํ ์ค๋ฒํ๋ก์ ๋ํ ๋ด ์ง๋ฌธ์ ๋๋ค. https://stackoverflow.com/q/47375814/6786941
๋ฌธ์ ๋ฅผ ์ฐพ์์ต๋๋ค. express-status-monitor
ํจํค์ง๊ฐ ์ด ์๋ชป๋ ๋์์ ํ๊ณ ์์์ต๋๋ค.
๊ทธ๊ฒ์ ์ ๊ฑฐํ๋ ค๊ณ ํ๋ฉด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค
// comment these lines, as they making the issue
// const expressStatusMonitor = require('express-status-monitor');
// app.use(expressStatusMonitor());
์ต์ข ์ฝ๋:
let app = require('express')();
// these two lines were making the problem, please comment them. if you want to reproduce the problem enable them again
// const expressStatusMonitor = require('express-status-monitor');
// app.use(expressStatusMonitor());
let http = require('http').Server(app);
let io = require('socket.io')(http);
let port = process.env.PORT || 3000;
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.get('/api/v0/availabilities',(req,res)=>{
res.status(200).send({test:"test"});
});
io.on('connection', (socket) => {
// emit message to group
socket.on('emitMessage', (data) => {
io.emit('emitMessage', data);
});
});
http.listen(port, function(){
console.log('listening on *:' + port);
});
์ด๊ฒ์ ์คํ ์ค๋ฒํ๋ก์ ๋ํ ๋ด ์ง๋ฌธ์ ๋๋ค. https://stackoverflow.com/q/47375814/6786941
์ด๊ฒ์ ์คํ ์ค๋ฒํ๋ก์ ๋ํ ๋ด ๋๋ต์ ๋๋ค. https://stackoverflow.com/a/47411701/6786941
@almgwary ์ ์๋ ๋๋ฌด ์ข์ต๋๋ค. ๋๋ ๋๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค. ๋๋ expressStatusMonitor๋ฅผ ์ ๊ฑฐํ๊ณ ๊ทธ๊ฒ์ ๋งค๋ ฅ์ฒ๋ผ ์๋ํ์ต๋๋ค! ๊ฐ์ฌํฉ๋๋ค! ๋ง์ ๋ ์ ๊ฒ์ ๋์ ๊ทํ์ ์ ์์ ์ฌ์ฉํ์ฌ ๋ง์นจ๋ด ์ด๊ฒ์ ํด๊ฒฐํ ์์์์ต๋๋ค. ์ ๋ง ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฌธ์ ๋ฅผ ์ฐพ์์ต๋๋ค.
express-status-monitor
ํจํค์ง๊ฐ ์ด ์๋ชป๋ ๋์์ ํ๊ณ ์์์ต๋๋ค.๊ทธ๊ฒ์ ์ ๊ฑฐํ๋ ค๊ณ ํ๋ฉด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค
์ต์ข ์ฝ๋:
์ด๊ฒ์ ์คํ ์ค๋ฒํ๋ก์ ๋ํ ๋ด ์ง๋ฌธ์ ๋๋ค. https://stackoverflow.com/q/47375814/6786941
์ด๊ฒ์ ์คํ ์ค๋ฒํ๋ก์ ๋ํ ๋ด ๋๋ต์ ๋๋ค. https://stackoverflow.com/a/47411701/6786941