Express 为什么我在Angular Universal+;轮询时使用socket.io?

Express 为什么我在Angular Universal+;轮询时使用socket.io?,express,socket.io,angular-universal,Express,Socket.io,Angular Universal,我试图将我的api引入一个角度通用的应用程序,而不是将它们分成不同的部分。我试着移动一些东西,但这是我得到的最接近的 当我运行应用程序时,对/api端点的调用是成功的。expressApp.set('socketio',io)行允许控制器访问socket.io并发出消息。这似乎工作得很好,但没有建立任何连接,因此没有侦听器接收套接字消息 我收到的错误消息是http://localhost:4200/socket.io/?EIO=3&transport=polling&t=NKUnPNk 请记住,

我试图将我的api引入一个角度通用的应用程序,而不是将它们分成不同的部分。我试着移动一些东西,但这是我得到的最接近的

当我运行应用程序时,对
/api
端点的调用是成功的。expressApp.set('socketio',io)行允许控制器访问socket.io并发出消息。这似乎工作得很好,但没有建立任何连接,因此没有侦听器接收套接字消息

我收到的错误消息是
http://localhost:4200/socket.io/?EIO=3&transport=polling&t=NKUnPNk

请记住,此代码的很大一部分是由angular命令生成的:
ng add@nguniversal/express engine

//导入
导出函数app():express.express{
const expressApp=express();
const server=require('http')。createServer(expressApp);
use(bodyParser.json());
const distFolder=join(process.cwd(),'dist/mob timer client/browser');
const indexHtml=existsSync(join(distFolder,'index.original.html'))?'index.original.html':'index';
expressApp.engine('html',ngExpressEngine({
引导:AppServerModule,
}));
set('view engine','html');
expressApp.set('views',distFolder);
expressApp.get('*.',express.static(distFolder{
maxAge:'1y'
}));
expressApp.use('/api',usersController);
expressApp.use('/api',mobsController);
expressApp.get(“*”,(请求,res)=>{
res.render(indexHtml,{req,providers:[{provide:APP_BASE_HREF,useValue:req.baseUrl}]});
});
常量选项={
服务员:错
};
const io=require('socket.io')(服务器,选项);
expressApp.set('socketio',io);
io.on('连接',(套接字)=>{
插座开('join-room',(room)=>{
插座连接(房间);
});
});
返回expressApp;
}
函数run():void{
const connection:ConnectionOptions={…};
//打字
createConnection(连接)。然后(异步连接=>{
const port=process.env.port | | | 4000;//如果我将socketUUrl更改为指向此处,则连接将被拒绝
const server=app();
服务器。侦听(端口,()=>{
log(`Node Express服务器正在侦听http://localhost:${port}`);
});
}).catch(错误=>console.log(错误));
}
//更多角度生成的代码