使用telnet测试节点websockets

new9mtju  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(131)

我正在使用ws库在Node js中编写一个基于套接字的服务器,我想测试一下我的代码是否有效。我在其他地方见过telnet用于测试简单的聊天服务器,但是当我启动我的服务器并执行telnet 127.0.0.1 5000时,尽管输出显示“已连接到localhost”,我的服务器没有记录任何与新连接相关的内容。是我测试我的服务器出错了,还是我的服务器根本不工作?我的服务器代码如下:

var WebSocketServer = require('ws').Server
      , http = require('http')
      , express = require('express')
      , app = express()
      , port = process.env.PORT || 5000;

    var server = http.createServer(app);
    server.listen(port);

    var wss = new WebSocketServer({server: server});
    console.log('websocket server created');
    wss.on('connection', function(ws) {
    var id = setInterval(function() {
        ws.send(JSON.stringify(new Date()), function() {  });
    }, 1000);

    console.log('websocket connection open');

    ws.on('close', function() {
        console.log('websocket connection close');
        clearInterval(id);
    });
   });

字符串

6rqinv9w

6rqinv9w1#

您已连接到HTTP服务器,但未建立WebSocket连接。这就是脚本不打印任何内容的原因。
我不确定你是否可以手动测试websockets,看看握手。
但是有一些类似telnet的程序可以使用WebSocket,也许您正在使用的ws模块中的wscat可以帮助您。

zphenhs4

zphenhs42#

我发现https://www.websocket.org/echo.html很有用。如果你正在测试本地主机服务器,只需在硬盘上创建一个WebSocket.index文件。代码在页面底部。

f2uvfpb9

f2uvfpb93#

**UPD:**根据@jouell的说明,这个工具现在似乎已经过时了

这个小工具为我做了这项工作:https://github.com/lafikl/telsocket

brew tap pascaliske/telsocket
brew update
brew install telsocket
telsocket -url ws://127.0.0.1:50000

字符串
(for不使用npm的人)

相关问题