Javascript Socket.io和Node.js上的角度聊天

Javascript Socket.io和Node.js上的角度聊天,javascript,Javascript,我想用Angular和Socket.io写一个聊天。一切都在本地机器上工作。但是在remote Node.js上,它不处理请求,也不连接到套接字,尽管我通过SSH运行它。也许我做错了什么?我是新手。请帮忙。我已经坐了10个小时了。我会说更多,也许这很重要。当我在localhost:3000上从远程站点打开套接字时,一切都像在本地机器上一样工作(尽管这是非常合乎逻辑的) 服务器部件 const cors = require('cors'); const express = require('exp

我想用Angular和Socket.io写一个聊天。一切都在本地机器上工作。但是在remote Node.js上,它不处理请求,也不连接到套接字,尽管我通过SSH运行它。也许我做错了什么?我是新手。请帮忙。我已经坐了10个小时了。我会说更多,也许这很重要。当我在localhost:3000上从远程站点打开套接字时,一切都像在本地机器上一样工作(尽管这是非常合乎逻辑的)

服务器部件

const cors = require('cors');
const express = require('express');
const app = express();
const server = require('http').createServer(app);
server.listen(3000);
const io = require('socket.io')(server);
app.use(cors());
let connections = [];

io.on('connection', (socket) => {


    connections.push(socket);
    console.log('Connect');
    console.log(connections.length);

    socket.on('disconnect', (data) => {
        connections.splice(connections.indexOf(socket), 1);
        console.log('Disconnect');
    console.log(connections.length);
    })

    socket.on('send mess', (obj) => {
        console.log(obj);
        io.sockets.emit('add mess', obj);
    })
});
角度服务

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable, Subscriber } from 'rxjs';
import * as io from 'socket.io-client';
import * as $ from 'jquery';

@Injectable({
  providedIn: 'root'
})
export class WhiteServiceService {
  socket: any;
  readonly url: string = 'ws://whitefox.website:3000/';

  constructor(private http: HttpClient) {
    this.socket = io(this.url);
  }

postMessage(message: {}) {
    this.socket.emit('send mess', message);
  }

white() {
      this.socket.on('add mess', (data) => {
    $('ul').append('<li>'+data.name +': ' + data.message + '</li><br>');
  })
  }
}```

可能您在Server.js中丢失了它

const io = require('socket.io')(server, {
  cors: {
    origins: ['*']
  }
});

你确定3000端口为你的服务器打开了吗?结果是没有,我不知道如何打开它。维斯塔克。有一次我没试过
const io = require('socket.io')(server, {
  cors: {
    origins: ['*']
  }
});