Testing node websockets with telnet

13,751

Solution 1

You connected to HTTP server, but did not established WebSocket connection. That's why your script doesn't print anything.

I'm not sure you can test websocket manually, look at the handshake.

But there are a few telnet-like programs that work with websocket. Maybe wscat from ws module you're using will help with that.

Solution 2

I found https://www.websocket.org/echo.html To be useful. Just create a websocket.index file on your hard-drive if you are testing a localhost server. Code is on the bottom of the page.

Solution 3

This little tool did the job for me: https://github.com/lafikl/telsocket

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

(for people who don't use npm)

Share:
13,751

Related videos on Youtube

user3080098
Author by

user3080098

Updated on September 15, 2022

Comments

  • user3080098
    user3080098 over 1 year

    I am writing a socket-based server in Node js using the ws library, and I would like to test that my code works. I have seen telnet used elsewhere to test simple chat servers, but when I start my server and execute telnet 127.0.0.1 5000, although the output says "connected to localhost", my server doesn't log anything associated with a new connection. Am I testing my server wrong or is my server simply not working? My server code is below:

        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);
        });
       });
    
  • user3080098
    user3080098 over 10 years
    is there a way to connect to the socket from an iOS application? passing the ip address and the port, with no luck connecting ( here's my code: CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"122.38.1.3", 91 , &readStream, &writeStream);)