我正在尝试 porgram 一个 ssh 隧道程序,但似乎不再使用的端口仍然不可用。我的隧道结构示例:
第一条隧道:本地端口-> 22,本地IP:1.2.3.4,用户...,密码...,隧道端口-> 5000
下一条隧道:本地端口 -> 5000,本地 IP:localhost,用户...,pw..,隧道端口 -> 5001
下一条隧道:本地端口 -> 5001,本地 IP:localhost,用户...,pw..,隧道端口 -> 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();
}
}
地图已排序,因为一条隧道需要之前的一条,依此类推......
谁能想象为什么在我清理连接后端口 5000、5001、5002... 不可用?