1

我在 OS X 上使用 libssh 测试了一个简单的代码,它的工作原理很简单。但是,当我使用 vc10 在 Windows7 上移植此代码时,它无法正常工作。ssh_connect API 阻塞,不再进行。

以下代码是我的测试程序的一部分。

#include <libssh/libssh.h>
...
int _tmain(..) 
{
  ssh_session session;

  session = ssh_new();
  if (session == NULL)
    exit(EXIT_FAILURE);

  ssh_options_set(session, SSH_OPTIONS_HOST, "localhost");
  int port = 1234;
  ssh_options_set(session, SSH_OPTIONS_PORT, &port); // <-block here !!!

  int rc = ssh_connect(session);
  if (rc != SSH_OK)
  {
    ...
  }
}

我从www.libssh.org下载了包含、lib 和 dll 文件,没有编译和链接错误。

我的代码有什么问题还是我错过了一些重要的事情?

4

1 回答 1

1

也许它阻塞导致端口错误?默认情况下,超时为 30 分钟 iirc。libssh 0.6 将有更好的超时处理。

于 2011-09-26T13:31:09.453 回答