{eval=Array;=+count(Array);}
谢谢邀约!很多年没有写过代码了!
如果在Linux下Socket如何传输一个目录以及目录下的子文件子目录NE ?先来看看Socket通信模型。
tar知道吗?可以把一整个文件夹打包成一个文件的工具,也可以还原不仅可以打包成一整个文件,还能打包成数据流。用它打包成数据流的模式。
配合popen调用
FILE* tarData = popen("tar -c /home/sorayuki/pics", "rb"); //读取数据
for(;;) {
char buffer[1024];
int r = fread(buffer, 1, 1024, tarData);
if (r <= 0) break;
//把buffer中前r个字节通过套接字发过去
}
pclose(tarData);
接收端类似,
FILE* tarData = popen("tar -x -C /home/sorayuki2", "wb");
for(;;) {
char buffer[1024];
//这里收数据存入buffer
//如果收完了(recv返回0)就break
fwrite(buffer, 1, 收到数据的长度, tarData);
}
pclose(tarData);
代码只是设想,没有测试。因为popen有些朋友弄不清楚,所以用tar的。
希望能够帮助到你的!
希望能够帮助大家!可以关注我的头条号,随时留言、交流!
关注我的微信公众号:IT微技能加油站(点击微信添加朋友——公众号——IT微技能加油站),定期分享你想要的职场生存技能及自媒体相关知识!
也欢迎关注:睡前读书十分钟(点击微信添加朋友——公众号——睡前读书十分钟),定期分享如何把控心态及工作生方式的文章;及时了解世界、读懂人生!
c端打不开s端的文件,你就没有理解网络通信和文件操作的区别
你要实现这种效果,要么c端发命令s端本地操作,要么c端拿到文件副本,编辑后同步到s端
0
回答10
回答10
回答0
回答3
回答0
回答10
回答0
回答0
回答0
回答