1

ssh トンネリング プログラムをプログラムしようとしていますが、使用されなくなったポートがまだ使用できないようです。私のトンネルの構造の例:

最初のトンネル: ローカル ポート -> 22、ローカル IP: 1.2.3.4、ユーザー...、pw...、トンネルポート -> 5000

次のトンネル: ローカル ポート -> 5000、ローカル IP: localhost、user...、pw..、tunnelport -> 5001

次のトンネル: ローカル ポート -> 5001、ローカル IP: localhost、user...、pw..、tunnelport -> 5002

ここまでは順調ですね。ここで、すべてのトンネルを閉じようとするコードを次に示します。

private void sortiiii(Map<Session, Integer> sessions) throws JSchException{
    Map<Session, Integer> map = sessions;
    ValueComparator bvc = new ValueComparator(map);
    TreeMap<Session, Integer> sorted_map = new TreeMap(bvc);

    sorted_map.putAll(map);
    for (Session key : sorted_map.keySet()) {
        System.out.println(sorted_map.get(key));
        String [] alle = key.getPortForwardingL();
        for (int i=0; i<alle.length; ++i){
            System.out.println(alle[i]);
        }


        key.delPortForwardingL(sorted_map.get(key));
        key.disconnect();
    }
}

1 つのトンネルが前のトンネルを必要とするため、マップはソートされます...

接続をクリーニングした後、ポート 5000、5001、5002... が利用できない理由を誰でも想像できますか?

4

0 に答える 0