ウェブサイト検索

node.js - Mac: 開いているWebSocketを確認する方法は?


私は、Tomcat クライアントが作成した WebSocket に接続しようとしています。私が見ているのは ws://localhost:8080/cs-webapp/ws ですが、それに接続しようとすると 302 エラーが発生します。ここでの他の質問や回答は該当しません :(

私は自分のマシンで開いているポートのリストを取得するために次のコマンドを使用しており、Tomcatに関連して見えるものは次の通りです:

sudo lsof -PiTCP -sTCP:LISTEN
java      localhost:21179 (LISTEN)
java      *:63862 (LISTEN)
java      *:49190 (LISTEN)
java      *:8080 (LISTEN)
java       *:8009 (LISTEN)
java       TCP localhost:8005 (LISTEN)
java        TCP *:58083 (LISTEN)

上記の情報をもとに、どれがWebSocketのポートであるか、そしてどのように接続するかを判断する方法はありますか?

私が試したコードスニペットは次のとおりです:

#!/usr/bin/env node
var WebSocketClient = require('websocket').client;

var client = new WebSocketClient();

client.on('connectFailed', function(error) {
    console.log('Connect Error: ' + error.toString());
});

client.on('connect', function(connection) {
    console.log('WebSocket Client Connected');
    connection.on('error', function(error) {
        console.log("Connection Error: " + error.toString());
    });
    connection.on('close', function() {
        console.log('echo-protocol Connection Closed');
    });
    connection.on('message', function(message) {
        if (message.type === 'utf8') {
            console.log("Received: '" + message.utf8Data + "'");
        }
    });
});

//client.connect('ws://localhost:8080/cs-webapp/ws', 'echo-protocol');
client.connect('ws://localhost:63862', 'echo-protocol');
//client.connect('ws://localhost:8080/cs-webapp/ws', 'echo-protocol');