{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
回答