【问题标题】:unable to understand connection establishment code无法理解连接建立代码
【发布时间】:2014-08-25 22:49:13
【问题描述】:

我是 Java 初学者,因此我很难理解一段代码。this 所以发布前两行创建一个连接实例:

/* Create a connection instance */
Connection conn = new Connection(hostname);
/* Now connect */
conn.connect();

我无法获取需要导入哪个库来支持此功能?该帖子在开头提到了JSch 的使用,但是当我尝试使用它时,我无法在JSch Connection 中声明类?任何帮助都会对我有用。

【问题讨论】:

  • 如果你想学习如何创建数据库连接,我会去一个更基础的来源,比如:docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
  • @mickey 是数据库连接吗?该帖子与远程执行R脚本有关
  • 我的错误,您的示例是连接到远程服务器,而不是数据库。
  • @mickey 仅关于 Connection 是如何导入的?
  • 似乎有两三个不同的东西叫 Jsch。继续寻找。

标签: java jsch remote-connection


【解决方案1】:

JCraft JSCH 可用于执行 SFTP 并通过 SSH 连接运行远程命令。

它不使用连接类。在 JSCH 中,您创建一个包含连接信息的 Session 对象。然后连接会话对象,然后创建 Channel 对象以发送输入/接收输出。

Here is the session API documentation for JSCH.

Here are some examples from JCraft.

这里有很多关于堆栈溢出的 JSCH 问题,some of which include working code you could use to try it out.

【讨论】:

    【解决方案2】:

    我猜你提到的Connection 类是ch.ethz.ssh2.Connection。它在代码示例herehereimport 指令中提到。这个类看起来在一个名为 ganymed-ssh2.jar 的 JAR 中。

    【讨论】:

    • 链接问题中的发帖人说他正在使用一种叫做 Jsch 的东西。 Ganymed 是一个很好的 SSH 库,它确实有一个 Connection 类,但它不叫 Jsch。
    • @EJP:我链接到的类具有链接问题的代码示例中提到的构造函数和所有方法,Session 类也具有该代码示例中提到的方法。所以我相信 Ganymed 图书馆正在被使用。也许链接问题中的发布者误认为使用 JSch?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2021-01-23
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多