首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果ftp主机不存在,Poco::Net::FTPClientSession在open()方法上挂起129秒

如果ftp主机不存在,Poco::Net::FTPClientSession在open()方法上挂起129秒
EN

Stack Overflow用户
提问于 2020-06-19 07:27:18
回答 1查看 157关注 0票数 0

我在yocto linux上使用poco库访问ftp服务器(hw是一个微控制器)。如果我指定一个有效的地址(ftp主机),所有工作正常,如果我使用一个不存在的ftp地址,"open“方法挂起129秒!然后,它抛出以下Poco::Exception。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
displayText->"N4Poco9ExceptionE"
what->"Exception"
message->""
name->"Exception"
code->"110"

这里的代码..

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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++指针hack设置内部_timeout变量,则没有与c++超时相关的luck..seems。

如果我破坏了调试器,这就是堆栈。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 __libc_connect connect.c 26 0xffffbe68bb8c 
2 ??                          0xffffbf1b1ab0 
3 ??  

(connect.c)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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
}

提前感谢您的帮助。诚挚的问候,

亚历克斯

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 08:29:45

如果没有人知道如何使用poco FTPClientSession对象求解,我可以尝试在FTPClientSession::open()之前使用此调用(QT )。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QTcpSocket socket;
socket.connectToHost("xxx.xxx.xxx.198",21);
bool bConnected = socket.waitForConnected(10*1000); //ms
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62465319

复制
相关文章
在 View 上使用挂起函数
Kotlin 协程 让我们可以用同步代码来建立异步问题的模型。这是非常好的特性,但是目前大部分用例都专注于 I/O 任务或是并发操作。其实协程不仅在处理跨线程的问题有优势,还可以用来处理同一线程中的异步问题。
Android 开发者
2022/09/23
2.4K0
在 View 上使用挂起函数 | 实战
本文是探索协程如何简化异步 UI 编程系列的第二篇。第一篇侧重理论分析,这一篇我们通过实践来说明如何解决实际问题。如果您希望回顾之前的内容,可以在这里找到——《在 View 上使用挂起函数》。
Android 开发者
2022/09/23
1.4K0
在 View 上使用挂起函数 | 实战
git分支挂起方法 转
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
双面人
2019/04/10
1.1K0
Net之FTP
FTP分两部分:Server和Client。Server监听网络上其它设备(Client)的连接请求;Client连接到Server后,可以操作Server的文件,例如上传、下载、改名、删除等。VxWorks既支持Server,也支持Client。
Taishan3721
2020/05/25
3890
mysql技巧:如果记录存在则更新/如果不存在则插入的三种处理方法
新增一个员工时,如果该员工已存在(以员工号f_emp_code作为判断依据),则更新,否则插入。而且工资f_salary,更新时,不得低于原工资(即:工资只能涨,不能降)。
菩提树下的杨过
2018/12/21
9.3K0
进程的挂起状态详细分析方法_线程挂起
交换的需要 前面图中三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。
全栈程序员站长
2022/11/17
1.9K0
进程的挂起状态详细分析方法_线程挂起
在Docker中使用Open vSwitch创建跨主机的容器网络
本文介绍了如何使用Open vSwitch为Docker 1.9.0及以后版本提供网络支持。操作前请先确认你已经按照INSTALL.md(http://openvswitch.org/support/
SDNLAB
2018/04/02
2.3K0
在Docker中使用Open vSwitch创建跨主机的容器网络
在Windows XP 上 架设 FTP服务器
大家好,又见面了,我是你们的朋友全栈君。架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。一般来说,系统最低要求如下:
全栈程序员站长
2022/09/13
15.8K0
在OpenCloudOS 上安装.NET 6
开源操作系统社区 OpenCloudOS 由腾讯与合作伙伴共同倡议发起,是完全中立、全面开放、安全稳定、高性能的操作系统及生态。OpenCloudOS 沉淀了多家厂商在软件和开源生态的优势,继承了腾讯在操作系统和内核层面超过10年的技术积累,在云原生、稳定性、性能、硬件支持等方面均有坚实支撑,可以平等全面地支持所有硬件平台。
张善友
2022/09/28
4730
在OpenCloudOS 上安装.NET 6
Asp.net在IIS上运行不了的解决方法
  1、.NET 安装的顺序应该是先装IIS,再装VS.NET,如果次序反了,或者IIS重装了,就需要使用aspnet_regiis.exe -i来重新安装IIS Mapping(主要用于aspx, asmx等文件的Extention的匹配)。在C:WINDOWSMicrosoft.NETFrameworkv1.0.3705目录下,运行下面的命令:aspnet_regiis.exe -i。
会长君
2023/04/26
1.3K0
09 Jan 2022 在docker上启用open policy agent
该策略会拒绝disable seccomp的容器运行,策略文件使用rego语言定义规则。
俊采
2023/10/17
4140
mac上开启ftp
开启 sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist 关闭 sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist 上述命令,系统重启后将失效,要永久生效,可编辑ftp.plist  <dict>         <key>Enabled</key>         <true/> ... 注意上面的红色部分,Disabled改成Enab
菩提树下的杨过
2018/01/19
2.3K0
在Windows Server 2022 上安装 容器主机(Containers)
容器用于从小型应用程序运行到大型软件。容器主机是 Docker 守护程序和 Docker 客户端上运行的操作系统。我们将使用最新版本的 Window Server 2022,下面我们来设置 Windows服务器容器主机的安装步骤。
张善友
2022/06/28
11.1K0
在Windows Server 2022 上安装 容器主机(Containers)
为什么不建议在云主机上使用ftp的2个原因
ftp文件传输服务历史源远流长,第一版FTP RFC协议制定于1971年,经过多年的完善、修补,很多80年代出生的IT人的第一次文件传输经历就是通过FTP完成的,笔者同样如此。
云语科技
2018/02/26
5.4K0
在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)
sudo apt-get install aptitude apt-show-versions openvswitch-controller openvswitch-brcompat openvswitch-switch
全栈程序员站长
2021/12/10
7460
Open ID Connect(OIDC)在 ASP.NET Core中的应用
我们在《ASP.NET Core项目实战的课程》第一章里面给identity server4做了一个全面的介绍和示例的练习 ,这篇文章是根据大家对OIDC遇到的一些常见问题整理得出。 本文将涉及到以下几个话题: 什么是OpenId Connect (OIDC) OIDC 对oAuth进行了哪些扩展? Identity Server4提供的OIDC认证服务(服务端) ASP.NET Core的权限体系中的OIDC认证框架(客户端) 什么是 OIDC 在了解OIDC之前,我们先看一个很常
用户1153966
2018/03/14
2.6K0
Open ID Connect(OIDC)在 ASP.NET Core中的应用
在 .Net 设定 proxy 的方法
其实只要在 Machine.config (也就是 xxx.exe.config) 里面设定就可以了. 范例如下: <configuration>   <system.net>     <defaultProxy>     <proxy       proxyaddress = "http://proxyserver:80"       bypassonlocal = "true"     />     </defaultProxy>   </system.net> </configuration> 此
张善友
2018/01/19
5420
优雅的在 Debian 9 上更改主机名
主机名是标识网络上的计算机的标签,在网络基础结构中应该是唯一的。建议使用完全限定的域名 (FQDN)作为系统主机名。
冬冬i
2022/04/09
1.5K0
点击加载更多

相似问题

Poco::Net库在Poco::Net::SocketStream的输出上挂起

33

如果主机不存在,则SocketChannel的连接方法仍然挂起

13

使用自定义端口FTP的Net::FTP实例方法`open`

219

Poco::Net::FTPClientSession上传实际目标文件的空白0字节副本

14

批量ftp在get上挂起

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文