[英]Socket.IO on subdomains with Express.js vhost
我的服務器上運行了兩個Express.js應用程序。
一個普通的香草應用程序稱為“ main-app”,另一個使用Socket.IO稱為“ socket-app”。
我在“ mydomain.com”上運行“ main-app”,在“ socket.mydomain.com”上的子域上運行“ socket-app”
我正在通過Express的內置vhost中間件將請求路由到套接字應用程序。
-在main-app.js中-
var express = require('express');
var app = module.exports = express.createServer();
app.use(express.vhost('socket.mydomain', require('./socket-app/app.js')));
app.listen(8080, function(){
console.log("Express server listening on port %d in %s mode");
});
這工作正常,我可以在socket.mydomain上看到我的套接字應用程序在端口8080上運行
但是,當通過vhost運行Socket.IO應用程序時,websockets超時並沒有收到“升級”事件似乎是一個問題,如本文所述。
所以我的問題是如何將這個“升級”事件從我的主應用程序傳遞到我的套接字應用程序,以便所有連接的套接字都能在有人連接和斷開連接時聽到聲音?
我嘗試從“ main-app”中發出“ upgrade”事件,但它似乎沒有用。
app.on('upgrade', function(req, socket) {
socket.emit('upgrade', app);
});
我在這里想念什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.