成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在鴻蒙設(shè)備上運(yùn)行TFTP服務(wù)器,實(shí)現(xiàn)文件上傳、下載、保存

系統(tǒng)
我開始嘗試——將TFTP服務(wù)器移植到鴻蒙Hi3861開發(fā)板上。經(jīng)過半天的移植和一天的調(diào)試,終于把TFTP服務(wù)器在Hi3861上移植成功了。

[[355258]]

想了解更多內(nèi)容,請?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

昨天唐老師發(fā)布了能夠運(yùn)行在鴻蒙Hi3861開發(fā)板上的Python解釋器,還不知道的可以去看看唐老師的帖子,:-)

我們知道,Python是一種腳本語言,可以解釋執(zhí)行,不需要編譯。有了Python解釋器,大家可能會(huì)希望——如果能直接把Python腳本文件上傳到開發(fā)板上,然后發(fā)個(gè)命令就可以執(zhí)行就好了,而不需要像C代碼那樣需要編譯、燒錄 才能運(yùn)行。

于是,我開始嘗試——將TFTP服務(wù)器移植到鴻蒙Hi3861開發(fā)板上。經(jīng)過半天的移植和一天的調(diào)試,終于把TFTP服務(wù)器在Hi3861上移植成功了。

沒錯(cuò),在內(nèi)存352KB、閃存2M 的Hi3861開發(fā)板上成功運(yùn)行了一個(gè)TFTP服務(wù)器,你可以將PC上的文件上傳到開發(fā)板上,而且可以斷電持久保存!當(dāng)然,你上傳的文件不能太大。

以下是整個(gè)移植和調(diào)試過程中的關(guān)鍵過程記錄。

TFTP是什么?

TFTP是簡單文件傳輸協(xié)議 Trivial File Transfer Protocol的英文縮寫。

TFTP是基于UDP的,協(xié)議本身比較簡單,它的RFC 1350官方文檔也只有11頁(TCP的RFC 793文檔有85頁)。

如果大家如果有興趣,完全可以自己從零實(shí)現(xiàn)一個(gè);而我為了能夠快速驗(yàn)證在Hi3861的可行性,選擇了直接移植。

TFTP服務(wù)器實(shí)現(xiàn)了哪些功能?

已經(jīng)實(shí)現(xiàn)了TFTP該有的功能:

1. 支持文件上傳;

2. 支持文件下載;

3. 支持文件持久保存,使用了鴻蒙的文件系統(tǒng)API接口。

運(yùn)行效果

PC通過網(wǎng)線連接無線路由器,虛擬機(jī)網(wǎng)口橋接網(wǎng)卡,IP地址:192.168.1.157;

開發(fā)板連接通過WiFi連接到無線路由器,IP地址:192.168.1.151 ;

下圖是運(yùn)行效果,左邊為虛擬機(jī)上 shell 執(zhí)行的命令;


其中的用到的幾個(gè)命令格式為:

1. put命令,將本地文件上傳到服務(wù)器,格式:put localfile remotefile

2. get命令,將服務(wù)器上的文件下載到本地,格式:get remotename localname

3. quit命令,退出會(huì)話

想嘗試運(yùn)行效果的,可以直接下載本帖附件的代碼進(jìn)行編譯,運(yùn)行。

如何編譯

1. 將本帖附件tftp代碼解壓到openharmony源碼頂層目錄;

2. 修改openharmony的build/lite/product/wifiiot.json文件:

將其中的//applications/sample/wifi-iot/app替換為//tftp:tftp;

3. 在openharmony源碼的頂層目錄,執(zhí)行python build.py wifiiot;

調(diào)試過程中用到的工具和方法

除了常規(guī)的串口工具之外,還用到了幾個(gè)工具(移植其他網(wǎng)絡(luò)協(xié)議時(shí)可供參考):

1. tftp 客戶端命令行工具(sudo apt install tftp下載);

2. tcpdump 抓包工具;

抓取某個(gè)網(wǎng)口上的全部數(shù)據(jù)包:sudo tcpdump -i eth0 -w tftp.pcap (-i 指定網(wǎng)口,-w 指定保存的數(shù)據(jù)文件)

3. WireShark 抓包和分析工具;

tcpdump抓到的數(shù)據(jù)包是這個(gè)網(wǎng)口上的全部數(shù)據(jù),用WireShark分析時(shí),可以用過濾表達(dá)式:tftp 過濾TFTP協(xié)議的數(shù)據(jù)包;

解決的問題

移植過程中解決了這么幾個(gè)問題:

1. 解決了報(bào)錯(cuò)"Mode too long/not NULL terminated",導(dǎo)致的上傳失敗;

2. 解決了文件讀取時(shí)size超過了文件實(shí)際尺寸的問題;

3. 解決了DATA響應(yīng)數(shù)據(jù)為空,導(dǎo)致的下載失敗的問題;

附件說明

1. tftp.zip 是本移植項(xiàng)目源碼;

2. rfc1350.pdf 是TFTP協(xié)議參考文檔。

想了解更多內(nèi)容,請?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2015-09-29 09:25:20

HTTP網(wǎng)絡(luò)協(xié)議

2015-10-08 09:38:24

HTTP網(wǎng)絡(luò)協(xié)議文件傳輸

2015-10-09 09:41:24

HTTP網(wǎng)絡(luò)協(xié)議文件傳輸

2015-10-10 16:46:14

HTTP網(wǎng)絡(luò)協(xié)議文件傳輸

2015-09-28 13:39:13

Http網(wǎng)絡(luò)協(xié)議HTTP

2010-09-09 17:46:43

TFTP服務(wù)器

2022-07-18 10:15:14

文件傳輸協(xié)議TFTPLinux

2010-09-09 17:54:07

TFTP服務(wù)器

2010-09-10 16:19:31

配置tftp服務(wù)器

2010-09-14 11:24:03

Windows tft

2019-09-23 11:46:02

FedoraTFTP服務(wù)器 Linux

2010-05-19 10:31:07

IIS服務(wù)器

2010-09-14 13:55:27

redhat 9 tf

2011-08-18 16:03:34

iPhone上傳圖片

2010-01-12 15:10:23

華為交換機(jī)配置備份

2009-06-17 16:56:45

JBoss服務(wù)器JSF實(shí)現(xiàn)

2022-03-01 20:33:50

服務(wù)web項(xiàng)目

2022-11-10 15:17:43

Windows文件Linux

2024-06-19 10:43:44

2009-04-28 19:46:16

LinuxAIX服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜天堂精品久久久久 | 国产欧美在线播放 | 国产一区二区在线视频 | 韩国毛片一区二区三区 | 一级在线观看 | 一区二区成人 | 亚洲成人精品久久久 | 成人av网站在线观看 | 亚洲综合区 | 国产午夜三级一区二区三 | 国产色婷婷久久99精品91 | 四虎永久免费黄色影片 | 毛片在线免费 | 日韩电影一区二区三区 | 日日操夜夜干 | 久久久久久久一区 | 日本色高清 | 日本不卡一区二区三区 | 欧美精品二区三区 | 国产精品夜间视频香蕉 | 国产成人精品一区二区三区四区 | av黄色片在线观看 | 欧美精品久久 | 亚洲精品一区在线观看 | 国产免费拔擦拔擦8x高清 | 国产精品久久久久久久粉嫩 | 精品国产一区二区三区性色av | 91中文字幕在线 | 五月免费视频 | 亚洲黄色一级 | h小视频 | 亚洲九九精品 | 久久草视频| 欧美一级欧美三级在线观看 | 久久久久久久久毛片 | 国产成人精品a视频一区www | 成人视屏在线观看 | 久久免费国产 | 亚洲一区二区久久 | 久久夜视频 | 久久一区二区三区四区五区 |