{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

linux下利用udp協(xié)議和socket通信,怎么實(shí)現(xiàn)c端可以打開s端文件?

galaxy_robotgalaxy_robot 回答0 收藏1
問題描述:也就是在c/s連接以后,怎么在c端,利用fopen,加上路徑名,文件名,就可以顯示文件的基本信息,例如格式,地址指針等。并在后續(xù)可以有對文件的一些基本操作,比如顯示文件內(nèi)容,逐行閱讀等
收藏問題

2條回答

SimonMa

SimonMa

回答于2022-06-28 11:50

謝謝邀約!很多年沒有寫過代碼了!

如果在Linux下Socket如何傳輸一個(gè)目錄以及目錄下的子文件子目錄NE ?先來看看Socket通信模型。

最簡單的方法:借助tar工具和管道。

tar知道嗎?可以把一整個(gè)文件夾打包成一個(gè)文件的工具,也可以還原不僅可以打包成一整個(gè)文件,還能打包成數(shù)據(jù)流。用它打包成數(shù)據(jù)流的模式。

配合popen調(diào)用

FILE* tarData = popen("tar -c /home/sorayuki/pics", "rb"); //讀取數(shù)據(jù)

for(;;) {

char buffer[1024];

int r = fread(buffer, 1, 1024, tarData);

if (r <= 0) break;

//把buffer中前r個(gè)字節(jié)通過套接字發(fā)過去

}

pclose(tarData);

接收端類似,

FILE* tarData = popen("tar -x -C /home/sorayuki2", "wb");

for(;;) {

char buffer[1024];

//這里收數(shù)據(jù)存入buffer

//如果收完了(recv返回0)就break

fwrite(buffer, 1, 收到數(shù)據(jù)的長度, tarData);

}

pclose(tarData);

代碼只是設(shè)想,沒有測試。因?yàn)閜open有些朋友弄不清楚,所以用tar的。

希望能夠幫助到你的!

希望能夠幫助大家!可以關(guān)注我的頭條號,隨時(shí)留言、交流!

關(guān)注我的微信公眾號:IT微技能加油站(點(diǎn)擊微信添加朋友——公眾號——IT微技能加油站),定期分享你想要的職場生存技能及自媒體相關(guān)知識(shí)!

也歡迎關(guān)注:睡前讀書十分鐘(點(diǎn)擊微信添加朋友——公眾號——睡前讀書十分鐘),定期分享如何把控心態(tài)及工作生方式的文章;及時(shí)了解世界、讀懂人生!

評論0 贊同0
  •  加載中...
learn_shifeng

learn_shifeng

回答于2022-06-28 11:50

c端打不開s端的文件,你就沒有理解網(wǎng)絡(luò)通信和文件操作的區(qū)別

你要實(shí)現(xiàn)這種效果,要么c端發(fā)命令s端本地操作,要么c端拿到文件副本,編輯后同步到s端

評論0 贊同0
  •  加載中...

相關(guān)問題

最新活動(dòng)

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<