【问题标题】:Node.js: websocket and express server shows unresolved server ProblemNode.js:websocket 和 express 服务器显示未解决的服务器问题
【发布时间】:2022-01-18 12:53:49
【问题描述】:

我正在尝试使用现有的 express 服务器安装新的 websocket 服务器,如下所示:

const http = require('http');
const express = require('express');
const app = express();
const port = 3000;
const bodyparser = require('body-parser');

const server = http.createServer(app);

const WebSocket = require('ws');
const wss = new WebSocket.Server({server:server});

wss.on('connection', function connection(ws) {
    console.log('A new client Connected!');
    ws.send('Welcome New Client!');

    ws.on('message', function incoming(message) {
        console.log('received: %s', message);

        wss.clients.forEach(function each(client) {
            if (client !== ws && client.readyState === WebSocket.OPEN) {
                client.send(message);
            }
        });

    });
});

//routing
const roomsRoute = require('./Implementierung/Ressourcen/rooms');

app.get('/', (req, res) => {
    res.send('Hear them');
});

server.listen(port, () => {
    console.log(`listening on port ${port}`);
});

首先,我遇到了这一行的问题:

const wss = new WebSocket.Server({server:server});

我无法以这种方式创建新的 WebSocket 服务器。

第二次:

if (client !== ws && client.readyState === WebSocket.OPEN) {
                client.send(message);
            }

WebSocket.OPEN 显示错误,可能是因为不存在的 WebSocket?

【问题讨论】:

  • OPEN 常量在 WebSocket 客户端可用,在您的情况下为 ws,因此请尝试 ws.OPEN。你能解释一下I am not able to create a new WebSocket Server吗?你有什么错误吗?如果是,你能显示完整的错误堆栈吗?
  • 当输入 const wss = new WebSocket.Server({server:server}) 服务器是一个未解析的类型。
  • 好的,所以这可能与您的代码无关,而是您的代码编辑器/linter/typescript 等。运行代码时您不会遇到任何错误,对吗?
  • 不,服务器正在运行。我将 WebSocket.OPEN 更改为 ws.OPEN,现在可以使用了。但是终端上没有websocket服务器的消息
  • 如果您在编辑器中看到 "unresolved type" 消息,您可以显示屏幕截图吗?

标签: node.js express websocket


【解决方案1】:

Typescript 是解决方案!谢谢大家的帮助

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2011-05-06
    • 2011-07-13
    • 2015-03-31
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多