【问题标题】:Nodejs "ws" Websocket Server [duplicate]Nodejs“ws”Websocket服务器[重复]
【发布时间】:2016-09-04 00:52:42
【问题描述】:

我正在使用 nodejs 和 websockets 创建一个在线游戏。作为 websocket 库,我正在使用模块“ws”。我没有使用 nodejs 来运行 HTTP 服务器我使用 apache + php 来托管网站/客户端和 nodejs 我只作为 websocket 服务器运行。

据我所知,要打开 websocket 连接(在端口 443 上),必须在另一个端口上进行握手。我使用的是 3000 端口(因为我的 apache 服务器在 80 端口上运行)。

在我的 server.js 文件(nodejs 启动的文件)上,我正在使用此代码来初始化 websocket 服务器:

var PORT = 3000;
var WebSocketServer = require('ws').Server;
var wsServer = new WebSocketServer({ port: PORT });

当访问 www.mywebsite.com:3000 时,我收到此短信“需要升级”。我想做的是在访问该端口时打印连接到服务器的客户端数量。由于我使用的是“ws”模块本地服务器,是否可以制作?

谢谢,如果您没有清楚地理解我的问题,请在 cmets 上告诉我。

【问题讨论】:

  • 它不是那个问题的重复。因为我有一个 HTTP 服务器。我想要的是在浏览器不尝试创建 websocket 握手时在 PORT 3000 上显示在线客户端的数量。这样我就不必在 NodeJS 上保留 2 个服务器,并且可以节省一些 CPU。 (我认为仅仅为了打印一个数字而创建另一个服务器是不值得的)
  • 另外,我运行 apache 的 HTTP 服务器位于一台具有一个 IP 的机器上,然后从我的网站中选择要建立 websocket 连接的服务器(根据您的位置)。我现在需要的是一种方法来打印每个服务器中的客户端数量,然后将其显示在我的主页上。我可以使用 websockets 来做到这一点,但我必须打开到每个服务器的 websocket 连接,然后在线请求客户端的数量。所以我认为在端口 3000 上打印数字会更容易
  • 好吧,那你可能正在搜索stackoverflow.com/questions/20919947/… ...
  • 至少,如果无法升级,ws WebsocketServer 似乎没有提供替代 API
  • CPU 使用率会不会一样?使用原生 WS 服务器还是传递对 HTTP 服务器的引用?

标签: javascript node.js websocket


【解决方案1】:

我也遇到了同样的问题。 可能是ws模块的问题。 最后我用http模块自己写

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 2021-09-14
    • 2014-09-08
    • 2017-07-12
    • 1970-01-01
    • 2015-10-09
    • 2017-12-31
    相关资源
    最近更新 更多