windows 客户端源码 (VS2005)
因为项目需要移值了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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
非常感谢nbysy提供了windows版本的客户端API。
用read读文件内容,只要文件中还存在要读取的字节数,一次read操作系统会保证返回该字节数的内容。
但对于socket,上述观点是不成立的。