简体   繁体   English

服务器端(Node.js)和客户端(Angular)上的Socket.io路径

[英]Socket.io path on server side (Node.js) and client side (Angular)

I have socket.io working locally. 我有socket.io在本地工作。 http://localhost:3000 is URL for Node.js backend and http://localhost:4200 URL for frontend Angular. http://localhost:3000是Node.js后端的URL,而http://localhost:4200是前端Angular的URL。

But it does not work when I deploy the app. 但是当我部署应用程序时它不起作用。

Folder structure: 资料夹结构:

parent-folder-name 父文件夹名称

 -backend folder

 -frontend files

All files of Angular located directly in the parent folder. Angular的所有文件都直接位于父文件夹中。

URLs: 网址:

http://mydomainnameexample.com/parent-folder-name/backend http://mydomainnameexample.com/parent-folder-name/ (frontend) http://mydomainnameexample.com/parent-folder-name/backend http://mydomainnameexample.com/parent-folder-name/ (前端)

Code: 码:

Client: this.socket = io('http://mydomainnameexample.com/parent-folder-name/'); 客户端: this.socket = io('http://mydomainnameexample.com/parent-folder-name/');

Server side: 服务器端:

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);
  });
});

I do have 404 in the console for this URL: http://mydomainnameexample.com/parent-folder-name/backend/?EIO=3&transport=polling&t=MQnDIEb 我的控制台中确实有此URL的404http://mydomainnameexample.com/parent-folder-name/backend/?EIO=3&transport=polling&t=MQnDIEb : http://mydomainnameexample.com/parent-folder-name/backend/?EIO=3&transport=polling&t=MQnDIEb

on the server side (Node.js) I added the path: 在服务器端(Node.js),我添加了路径:

const io = require('socket.io')(http, {path: 'parent-folder-name/backend/socket.io'})`

And Client side: 和客户端:

this.socket = io('http://mydomainnameexample.com', { path: 'parent-folder-name/backend/socket.io' });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM