2

我的程序连接到 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 = new Socket ("irc.freenode.net", 6667);

我想知道我可以使用哪个库,以及如何使用?

4

3 回答 3

2

你可能会因为绕过 IRC 端口的块而陷入麻烦。

我有另一个想法。在您进行开发的机器上下载并安装 IRC 服务器软件。然后您应该能够从您的客户端连接到它,而不会阻塞端口。(如果您仍然遇到端口问题,只需配置客户端和服务器使用不同的。)


或者,查看这个 SO 问题的答案:Java 中的简单 SSH 隧道

于 2012-06-24T10:09:13.850 回答
1

市场上有几个用于 Java 的 SSH 库,其中大多数都支持 SSH 隧道。我们提供带有示例(包括隧道)、文档和支持的SecureBlackbox产品(Java 版)。

于 2012-06-24T11:07:30.017 回答
0

Ganymed 和 Jsch 都支持 SSH 隧道,而且都是免费的。

于 2012-06-24T23:26:57.030 回答