Node.js에서 soket.io를 사용하고 있는데 제대로 작동하지만 경로 파일에 문제가 있습니다.socket.io가 express route 내에서 제대로 작동하지 않습니다.
다음은 제 코드와 흐름입니다. server.js
파일에 io
을 정의했습니다.
var express = require('express'),
app = express(),
http = require('http').Server(app);
var io = require('socket.io').listen(http);
//io from server.js
io.on('connection', function (socket) {
socket.emit('getDevicePostData', { message : 'Hi from server!!' });
socket.on('sendDevicePostData', function("Hi from server") {});
});
// pass io to routes file
var smart_control = require('./smart_control.js')(io);
app.use('/', smart_control);
그리고 smart_control.js
파일의 코드는 경로의 발광 때로는 작동하고 때로는 작동하지 않습니다 위의
module.exports = function(io) {
router.post('/emitdata', function(req, res, next) {
io.sockets.emit('getDevicePostData', { message : 'Hi from route!!' });
});
return router;
}
이하입니다.
그리고이 방출은 각도 js에서 불린다. 나는 각 컨트롤러에 코드 아래 각 에 https://www.npmjs.com/package/angular-socket-io 패키지를 사용
여기mySocket.on('getDevicePostData', function(data) {
console.log(data);
});
mySocket는 공장입니다.
내 코드가 잘못되었습니다. 주로 경로 파일에서만 발생하는 문제입니다.
작동하지 않으면 어떻게됩니까? 서버가 POST와 관련된 모든 것을 표시합니까? } POST/emitdata [응답 코드] – chirag
경로를 호출 할 때이 mySocket.on ('getDevicePostData', 함수 (데이터) { console.log (data); }}의 각 측면에서 응답을받지 못했습니다. – Jignasa
라우터가 호출되고 있습니까? – chirag