Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
Poco::Net::FTPClientSession hangs for 129 seconds on open() method , if the ftp host does not exist
我正在使用poco库访问yocto Linux上的ftp服务器(hw是一个微控制器(。 如果我指定一个有效的地址(ftp主机(一切正常,如果我使用不存在的ftp地址,"open"方法挂起129秒!之后,它会抛出以下 Poco::Exception..
displayText->"N4Poco9ExceptionE"
what->"Exception"
message->""
name->"Exception"
code->"110"
这里的代码..
Poco::Net::FTPClientSession ftp;
try
{
ftp.open(host,port); <<<<<<<<< hangs here
ftp.login(userName,password);
ftp.logout();
ftp.close();
}
catch(Poco::Exception exc)
{
}
setTimeout(( 方法仅在调用 open(( 方法后才有效(否则会引发异常(。但是,如果我使用 c++ 指针黑客设置内部 _timeout 变量,那就没有运气了。似乎与 FTP 超时无关。
如果我破坏调试器,这就是堆栈。.
1 __libc_connect connect.c 26 0xffffbe68bb8c
2 ?? 0xffffbf1b1ab0
3 ??
(连接.c(
#include <sys/socket.h>
#include <sysdep-cancel.h>
#include <socketcall.h>
int __libc_connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len)
{
#ifdef __ASSUME_CONNECT_SYSCALL
return SYSCALL_CANCEL (connect, fd, addr.__sockaddr__, len); <<< THE DEBUGGER BREAKS HERE
#else
return SOCKETCALL_CANCEL (connect, fd, addr.__sockaddr__, len);
#endif
}
提前感谢您的帮助。 此致敬意
亚历克斯
如果没有人知道如何使用 poco FTPClientSession 对象来解决,我可以尝试通过此调用 (QT lib( 在 FTPClientSession::open(( 之前。
QTcpSocket socket;
socket.connectToHost("xxx.xxx.xxx.198",21);
bool bConnected = socket.waitForConnected(10*1000); //ms
相关文章:
- 如果没有malloc,链表实现将失败
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- C++擦除(如果存在)
- 如果"new int"返回"int*",那么为什么"new int[n]"不返回"int**"?
- 在'如果'陈述输出如何正确
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 如果基类包含双指针成员,则派生类的构造函数
- 如果没有数学库,我如何在C++中创建复利公式
- 如果我已经有一个头,那么模板(-t)文件属于哪里
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存