windows 客户端源码 (VS2005)

发布于 2022-09-18 17:51:52 字数 671 浏览 8 评论 0

因为项目需要移值了fastdfs的客户端, 只测试了上传和下载. 基于的版本是 FastDFS v1.17 (google code上下载的)
附件是源码(VS2005工程)

PS:
common/sockopt.c 中 tcpsendfile() 函数里这样的代码:
if (read(fd, buff, send_bytes) != send_bytes)
{
        result = errno;
        close(fd);
        return result != 0 ? result : EIO;
}

其实是不安全的,  read 的manpage里有这样段话:"It is not  an error  if  this  number  is smaller than the number of bytes requested"
另外,read函数在windows上工作好像不太正常(可能是电脑的原因?), 我干脆把读写文件的函数都换成了 fopen/fread/fwrite

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

友欢 2022-09-25 17:51:52

非常感谢nbysy提供了windows版本的客户端API。
用read读文件内容,只要文件中还存在要读取的字节数,一次read操作系统会保证返回该字节数的内容。
但对于socket,上述观点是不成立的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文