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

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問(wèn)答專欄Q & A COLUMN

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

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

2條回答

SimonMa

SimonMa

回答于2022-06-28 11:50

謝謝邀約!很多年沒(méi)有寫過(guò)代碼了!

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

最簡(jiǎn)單的方法:借助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é)通過(guò)套接字發(fā)過(guò)去

}

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ù)的長(zhǎng)度, tarData);

}

pclose(tarData);

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

希望能夠幫助到你的!

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

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

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

評(píng)論0 贊同0
  •  加載中...
learn_shifeng

learn_shifeng

回答于2022-06-28 11:50

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

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

評(píng)論0 贊同0
  •  加載中...

相關(guān)問(wèn)題

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

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