服务器端:
应用.js
let express = require('express'),
app = express(),
http = require('http').Server(app);
io = require('socket.io')(http);
http.listen(port, function () {
...
});
io.on('connection', (socket) =>{
socket.emit('some_event',{user : 'some_name'})
});
路由/索引.js
let router = express.Router();
.....
router.get('/api/telegram/activation-code',user.isLoggedIn(),telegramActivation);
客户端 :
any_angular.component.ts
import * as io from 'socket.io-client';
...
ngOnInit(){
let socket = io('/api/telegram/activation-code');
socket.on('connection', (socket) =>{
socket.on('some_event',(data) =>{
console.log(data)
})
});
}
我尝试从服务器端获取一些数据。但是当我移动到我的/api/telegram/激活代码路由时,我没有收到数据。谁能向我解释我的错误在哪里?
可能是您的背面和正面位于不同的命名空间中。在您的节点代码中尝试此操作
io.of('/api/telegram/activation-code').on('connection...
https://socket.io/docs/rooms-and-namespaces/#custom-namespaces