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

在鴻蒙設備上運行TFTP服務器,實現文件上傳、下載、保存

系統
我開始嘗試——將TFTP服務器移植到鴻蒙Hi3861開發板上。經過半天的移植和一天的調試,終于把TFTP服務器在Hi3861上移植成功了。

[[355258]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

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

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

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

于是,我開始嘗試——將TFTP服務器移植到鴻蒙Hi3861開發板上。經過半天的移植和一天的調試,終于把TFTP服務器在Hi3861上移植成功了。

沒錯,在內存352KB、閃存2M 的Hi3861開發板上成功運行了一個TFTP服務器,你可以將PC上的文件上傳到開發板上,而且可以斷電持久保存!當然,你上傳的文件不能太大。

以下是整個移植和調試過程中的關鍵過程記錄。

TFTP是什么?

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

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

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

TFTP服務器實現了哪些功能?

已經實現了TFTP該有的功能:

1. 支持文件上傳;

2. 支持文件下載;

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

運行效果

PC通過網線連接無線路由器,虛擬機網口橋接網卡,IP地址:192.168.1.157;

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

下圖是運行效果,左邊為虛擬機上 shell 執行的命令;


其中的用到的幾個命令格式為:

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

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

3. quit命令,退出會話

想嘗試運行效果的,可以直接下載本帖附件的代碼進行編譯,運行。

如何編譯

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

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

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

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

調試過程中用到的工具和方法

除了常規的串口工具之外,還用到了幾個工具(移植其他網絡協議時可供參考):

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

2. tcpdump 抓包工具;

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

3. WireShark 抓包和分析工具;

tcpdump抓到的數據包是這個網口上的全部數據,用WireShark分析時,可以用過濾表達式:tftp 過濾TFTP協議的數據包;

解決的問題

移植過程中解決了這么幾個問題:

1. 解決了報錯"Mode too long/not NULL terminated",導致的上傳失敗;

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

3. 解決了DATA響應數據為空,導致的下載失敗的問題;

附件說明

1. tftp.zip 是本移植項目源碼;

2. rfc1350.pdf 是TFTP協議參考文檔。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

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

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2015-10-09 09:41:24

HTTP網絡協議文件傳輸

2015-10-10 16:46:14

HTTP網絡協議文件傳輸

2015-09-28 13:39:13

Http網絡協議HTTP

2015-09-29 09:25:20

HTTP網絡協議

2015-10-08 09:38:24

HTTP網絡協議文件傳輸

2010-09-09 17:46:43

TFTP服務器

2022-07-18 10:15:14

文件傳輸協議TFTPLinux

2010-09-10 16:19:31

配置tftp服務器

2010-09-09 17:54:07

TFTP服務器

2010-09-14 11:24:03

Windows tft

2019-09-23 11:46:02

FedoraTFTP服務器 Linux

2010-05-19 10:31:07

IIS服務器

2009-06-17 16:56:45

JBoss服務器JSF實現

2010-01-12 15:10:23

華為交換機配置備份

2011-08-18 16:03:34

iPhone上傳圖片

2010-09-14 13:55:27

redhat 9 tf

2022-03-01 20:33:50

服務web項目

2022-11-10 15:17:43

Windows文件Linux

2024-06-19 10:43:44

2009-04-28 19:46:16

LinuxAIX服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品一区二区三区中文字幕 | 黄色一级电影在线观看 | 天天插日日操 | 亚洲人成人网 | 国产日韩欧美一区二区在线播放 | 国产三级一区二区 | 亚洲狠狠爱 | 国产乱码精品一区二区三区忘忧草 | 国产成人精品一区二区 | 欧美一区二区三区在线免费观看 | 国产成人综合亚洲欧美94在线 | 一区二区三区四区免费观看 | 黑人巨大精品 | 欧美精品久久久久 | 午夜在线免费观看视频 | 中文字幕综合 | 国产69精品久久99不卡免费版 | 欧美在线一区二区视频 | 亚洲免费久久久 | 久久久久国产一区二区三区 | 2021狠狠天天天 | 欧美日韩亚洲一区二区 | 日韩一级欧美一级 | 国产精品海角社区在线观看 | 欧美极品一区二区 | 综合网视频 | 国产乱一区二区三区视频 | 免费同性女女aaa免费网站 | 日韩美女一区二区三区在线观看 | 国产精品国产三级国产aⅴ无密码 | av国产在线观看 | 黑人巨大精品欧美一区二区免费 | 中文字幕在线视频免费视频 | 天天久久| 久久久久黄 | 欧美日韩成人在线 | 国产精品久久久久久久毛片 | 亚洲一区二区三 | 午夜电影一区二区 | 中文字幕第一页在线 | 国产精品日韩欧美一区二区三区 |