Tìm kiếm trang web

node.js - Mac: Làm thế nào để xác định websocket nào đang mở?


Tôi đang cố gắng kết nối với một websocket mà một client tomcat đã tạo. Những gì tôi thấy là ws://localhost:8080/cs-webapp/ws nhưng khi tôi cố gắng kết nối với nó, tôi nhận được lỗi 302. Các câu hỏi/trả lời khác ở đây không áp dụng :(

Tôi đang sử dụng lệnh sau để lấy danh sách các cổng mở trên máy của mình và những gì tôi thấy liên quan đến tomcat là:

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)

Có thông tin trên, có cách nào để xác định cổng websocket là cổng nào và cách kết nối nó không?

các đoạn mã mà tôi đã thử là:

#!/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');