我的程序连接到freenode.net上的IRC房间,它使用端口6667,显然该端口在我的学院被阻止所以项目在那里不起作用(我希望在我提出之前我已经知道了,但是它将在下周到期,所以我现在无法创建一个新项目。我读到有可能隧道连接,但我不知道该怎么做。
我读过我必须使用SSH库,但我找不到一个可以帮助我使用套接字隧道连接。
我在MindTerm中找到了一个名为ssh的软件包,但它是一个非常古老的软件包,基本上是使用这些代码来完成这个过程(
)SSHSocketFactory fact = new SSHSocketFactory("ssh.freessh.biz", 22, new SSHPasswordAuthenticator("freessh", "7QO5dkmg<"));
ventanachat.socket = fact.createSocket(servidorirc, puerto);
它给了我:java.io.IOException:MindTerm还不支持SSHv2,在服务器中启用SSHv1兼容性
所以我尝试了一个支持ssh2的新版本,但我不能得到相同的过程,因为这里的类不同而且没有文档。
socket基本上是Socket socket = new Socket(“irc.freenode.net”,6667);
我想知道我可以使用哪个库,以及如何使用?
答案 0 :(得分:2)
您可能会因绕过IRC端口的阻塞而遇到麻烦。
我有另一个想法。在您正在开发的计算机上下载并安装IRC服务器软件。然后,您应该能够从客户端连接到它,而不会阻止端口。 (如果您仍然遇到端口问题,只需配置客户端和服务器使用另一个。)
或者,看看这个SO问题的答案:Simple SSH Tunnel in Java
答案 1 :(得分:1)
市场上有几个用于Java的SSH库,其中大多数都支持SSH隧道。我们提供SecureBlackbox产品(Java版),其中包含样本(包括隧道),文档和支持。
答案 2 :(得分:0)
Ganymed和Jsch都支持SSH隧道,两者都是免费的。