ftp 客户端 ABOR 命令服务器 没响应

liycumt 2007-05-11 09:54:41
正在 写一个ftp客户端程序
在向服务器发送完数据后 向服务器发送ABOR命令 服务器没有响应
char* cmd="ABOR \r\n";
memset(buf,0,sizeof(buf));
sprintf(buf,"%s",cmd);
if(write(ctrlSock,buf,strlen(buf))<0)
{
cout<<"abort error"<<endl;
return -104;
}
//执行到这 程序就等待服务器相应,最后超时 为什么?求教了
ret=GetRetCode();
cout<<"ret="<<ret<<endl;
...全文
381 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2007-05-11
  • 打赏
  • 举报
回复
FTP 客户程序通常要同时读标准输入,控制链接和数个数据链接,所以传统的Unix FTP 客户程序使用 select/poll的方式+有限状态机的模型!

也可以用多线程的方式。

LZ的程序中
GetRetCode如果直接去read,此时如果运行ftpd的主机崩溃或网络中断,read就会一直阻塞!

建议看看open source ftp client 是如何实现的!

23,222

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧