色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>局域網(wǎng)發(fā)布共享文件xml-rpc實(shí)現(xiàn)的文件共享

局域網(wǎng)發(fā)布共享文件xml-rpc實(shí)現(xiàn)的文件共享

2022-05-30 | zip | 0.01 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 GPL
開發(fā)語(yǔ)言 Python
操作系統(tǒng) 跨平臺(tái)
軟件類型 開源軟件

軟件簡(jiǎn)介

xml-rpc 實(shí)現(xiàn)的文件共享

這個(gè)項(xiàng)目取材與http://www.the5fire.com/python-project8-xml-rpc.html 。是python基礎(chǔ)教程中的十個(gè)例子中的第八個(gè)。主要的實(shí)現(xiàn)原理如下:

每一個(gè)客戶端都是一個(gè)節(jié)點(diǎn)。每一個(gè)節(jié)點(diǎn),都啟動(dòng)一個(gè) xml-rpc服務(wù)器。在 xml-rpc服務(wù)器中,維護(hù)著一個(gè)所有節(jié)點(diǎn)的集合。原文的例子,功能太少,只能下載。后來(lái)我加了一個(gè)ls 命令,可以查看包括自己的和所有節(jié)點(diǎn)的文件。原項(xiàng)目中的節(jié)點(diǎn)列表,必須是手動(dòng)給出的,相當(dāng)麻煩,是通過(guò)一個(gè)叫urlfile的文件來(lái)維護(hù)的。在我的這個(gè)項(xiàng) 目中,維護(hù) 節(jié)點(diǎn)的信息是通過(guò)程序自己學(xué)習(xí)到的。每當(dāng)一個(gè)節(jié)點(diǎn)啟動(dòng)的時(shí)候,該節(jié)點(diǎn)就會(huì)把自己的xml-rpc服務(wù)器的訪問(wèn)url,通過(guò)udp廣播的方式,廣播給某一個(gè) 端口。同時(shí)每一個(gè)節(jié)點(diǎn),只要它啟動(dòng)后,會(huì)監(jiān)聽某一個(gè)端口上的,有關(guān)xml-rpc服務(wù)器的訪問(wèn)url的監(jiān)聽。只要收到信息,就把它寫入到節(jié)點(diǎn)列表中。通過(guò) fetch下載文件時(shí),如果發(fā)現(xiàn)了異常,則從節(jié)點(diǎn)列表中刪除它。

現(xiàn)在假如有兩個(gè)節(jié)點(diǎn)(啟動(dòng)了client.py文件的機(jī)器) a和b,a中的節(jié)點(diǎn)列表中有b,同樣b中也有,當(dāng)a嘗試著fetch 一個(gè)文件時(shí),如果沒(méi)有在a中查找到的話,則會(huì)去找b,但是b中的節(jié)點(diǎn)列表是a,b會(huì)去找a。。。。。這樣就形成了阻塞。原項(xiàng)目中,是通過(guò)一個(gè)url列表來(lái) 維護(hù)的。但是這個(gè)項(xiàng)目中,a機(jī)器對(duì)于自己的url是localhost,b也是localhost,但是對(duì)于a來(lái)講b就不是localhost。所以我的 項(xiàng)目中,是通過(guò)維護(hù)一個(gè)secret列表來(lái)判斷,下一個(gè)要查找的節(jié)點(diǎn)是不是已經(jīng)被查過(guò)了。但是同時(shí)得先知道下一個(gè)節(jié)點(diǎn)的secret值,但是如果下一節(jié)點(diǎn) 就是上一個(gè)節(jié)點(diǎn)的話,還是會(huì)有阻塞,所以把xml-rpc做成多線程就很必要了。新構(gòu)建一個(gè)類class ThreadRPC(ThreadingMixIn, SimpleXMLRPCServer) 。這樣ThreadRPC就變成了多線程的SimpleXMLRPCServer。

本來(lái)文件的傳輸是使用了xml-rpc。后來(lái)我把它獨(dú)立出來(lái)了。單獨(dú)作為一個(gè)文件傳輸服務(wù),TranServer。這個(gè)文件傳輸,不使用xml- rpc,而是直接用socket。用了SocketServer框架。本來(lái)是想用asynchat的。但是后來(lái)發(fā)現(xiàn),這個(gè)異步框架,有點(diǎn)蛋疼。比如說(shuō)它的 push方法。是會(huì)把數(shù)據(jù)放到叫producer_fifo的fifo數(shù)據(jù)結(jié)構(gòu)中。這個(gè)做會(huì)出現(xiàn)一個(gè)大問(wèn)題。我讀本地的文件速度遠(yuǎn)遠(yuǎn)快于發(fā)送的數(shù)度,當(dāng)體 積大的時(shí)候,更是如此。所以使用push傳輸,會(huì)發(fā)現(xiàn)內(nèi)存占用越來(lái)越大,越來(lái)越大。。。如果不使用push,而是使用send,會(huì)發(fā)現(xiàn)數(shù)據(jù)不同步.鑒于這 些問(wèn)題,所以我沒(méi)有采用異步,而是使用了多線程的SocketServer, ThreadingMixIn

配置文件

[global]

# 監(jiān)聽節(jié)點(diǎn)的端口

listen_port = 1111

# 數(shù)據(jù)傳送的端口

data_port = 1234

# 要共享的目錄

share_dir = /tmp/a

使用方法

啟動(dòng)節(jié)點(diǎn) : python client.py

獲取文件列表: ls

下載文件: fetch xxx

查看文件內(nèi)容: cat xxx [要查看的前n位]

?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 97一期涩涩97片久久久久久久 | 日本亚洲中文字幕无码区 | 最近中文字幕mv手机免费高清 | 色综合久久88一加勒比 | 第四色播日韩AV第一页 | 极品美女久久久久久久久久久 | 国产精品www视频免费看 | 夜色资源站国产www在线视频 | 日韩AV片无码一区二区三区不卡 | 欧美最猛性XXXXX肛交 | 菠萝蜜国际一区麻豆 | 富婆找黑人老外泻火在线播放 | 日韩人妻无码精品久久中文字幕 | 无码AV动漫精品一区二区免费 | 在线视频 国产 日韩 欧美 | 粉嫩AV国产一区二区福利姬 | 韩国精品无码少妇在线观看网站 | 国产1000部成人免费视频 | 国产亚洲精品久久久久久白晶晶 | 野花韩国视频中文播放 | 久久www免费人成高清 | 大伊人青草狠狠久久 | SM双性精跪趴灌憋尿调教H | 伊人久久综合 | 猫咪www958ii| 特级毛片内射WWW无码 | 国产精品青青草原app大全 | 成人国内精品久久久久影 | 动态抽插图视频 | 国产美女裸身网站免费观看视频 | 十分钟免费观看大全视频 | 国产成人免费视频 | 无码国产伦一区二区三区视频 | 羞羞影院男女爽爽影院尤物 | 久久精品国产免费 | 在线中文字幕视频 | 黄瓜视频苹果直接安装 | 亚洲欧洲免费三级网站 | 成人五级毛片免费播放 | 777福彩社区 | 成人精品视频在线观看播放 |