ftp客户端recv函数阻塞问题!

adeadsea 2013-03-16 05:44:17
我自己编写的客户端与serv-u成功建立了连接,但send后,recv却阻塞了,返回-1,和我们学校的ftp服务器也是一样。诡异的是我一位老师的ftp客户端和ser-u也阻塞在那个地方了,但与学校的服务器又不会了。
还有,win7命令行下ftp通信一切正常!
对了,我的客户端与自己编写的服务端通信一切正常,实现了数据传输!
...全文
223 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-03-17
  • 打赏
  • 举报
回复
会用抓包软件吗? 不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊! http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
adeadsea 2013-03-16
  • 打赏
  • 举报
回复
send返回值正确,strlen()去掉+1结果一样....
qq120848369 2013-03-16
  • 打赏
  • 举报
回复
楼主2件事: 1, ftp协议, 你查一下是否真的需要strlen()+1带上那个'\0'呢? 2, 检查一下send的返回值是否与你发的数据量一致。
adeadsea 2013-03-16
  • 打赏
  • 举报
回复
我的请求没发完整?怎么说? send(sockClient, "USER plh\r\n", strlen("USER plh\r\n")+1, 0); 这样?
Geoff08Zhang 2013-03-16
  • 打赏
  • 举报
回复
可以参考《WinSock网络编程经络》,有对FTP协议的详细解释及实现FtpClnt,这是下载地址: http://download.csdn.net/detail/geoff08zhang/4571358
adeadsea 2013-03-16
  • 打赏
  • 举报
回复
查出来了 是10014
qq120848369 2013-03-16
  • 打赏
  • 举报
回复
你的请求没发完整, 服务端凭什么要应答你啊.
mujiok2003 2013-03-16
  • 打赏
  • 举报
回复
多半是协议没有实现完整。下载一个ftp server,自己编译然后连调。
乔巴好萌 2013-03-16
  • 打赏
  • 举报
回复
同意1楼说法 用wsagetlasterror看看具体错误值
  • 打赏
  • 举报
回复
可能是ser-u不接受匿名登录
jimette 2013-03-16
  • 打赏
  • 举报
回复
wsagetlasterror 总有提示把

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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