我有socket.io在本地工作。http://localhost:3000
是Node.js后端的URL,http://localhost:4200
是前端Angular的URL。
但当我部署应用程序时,它不起作用。
文件夹结构:
父文件夹名称
-backend folder
-frontend files
Angular的所有文件都直接位于父文件夹中。
URL:
http://mydomainnameexample.com/parent-folder-name/backend
http://mydomainnameexample.com/parent-folder-name/
(前端(
代码:
客户:this.socket = io('http://mydomainnameexample.com/parent-folder-name/');
服务器端:
const http = require('http').Server(app);
const io = require('socket.io')(http);
io.sockets.on('connection', function(socket) {
console.log('A client is connected!');
socket.on('index', () => {
console.log('socketData: ');
testController.index(socket);
});
});
控制台中确实有此URL的404
:http://mydomainnameexample.com/parent-folder-name/backend/?EIO=3&transport=polling&t=MQnDIEb
在服务器端(Node.js(,我添加了路径:
const io = require('socket.io')(http, {path: 'parent-folder-name/backend/socket.io'})`
客户端:
this.socket = io('http://mydomainnameexample.com', { path: 'parent-folder-name/backend/socket.io' });