018 Rust 網路程式設計,TFTP 使用示例

2021-10-06 08:40:03 字數 906 閱讀 4517

本例子用rust程式實現乙個tftp_server,然後使用tftp客戶端進行測試。

cargo new use_tftp
[dependencies]

tftp_server = "0.0.3"

use tftp_server::server::tftpserverbuilder;

use std::net::socketaddr;

use std::str::fromstr;

fn main() ", 69);

let socket_addr = socketaddr::from_str(addr.as_str()).expect("error parsing address");

let builder = tftpserverbuilder::new().addr(socket_addr);

let mut server = builder.build().unwrap();

match server.run() ", e),

}}

sudo ./target/debug/use_tftp -p 69
在本例子中,我們使用tftp-hpa,安裝命令如下:

sudo apt-get install tftp-hpa
執行如下:

tftp 127.0.0.1
在當前目錄下新建乙個檔案test,然後在tftp客戶端上使用如下命令上傳:

put test
在我們新建的tftp server專案 use_tftp/target/debug/目錄下,可以看到上傳的test檔案。

java網路程式設計之TFTP(一)

tftp使用了udp套接字,效率比較高,但是也要求tftp為資料傳輸的不可靠負責。tftp伺服器在69埠上監聽到來的資料報,客戶端使用乙個隨機的埠號 tftp作用 許多無盤工作站使用tftp來載入它們需要的來自伺服器的檔案。每個資料報有乙個操作碼opcode 16 bits 表示包的型別,有五種 1...

010 Rust網路程式設計,cargo構建指令碼介紹

此章節並不是只有rust網路程式設計的內容,但是由於後續的例子有些依賴於此知識點,所以放在rust網路程式設計系列中做簡單介紹。參考資料主要是官方文件 cargo之書 在實際的專案中,有些包需要編譯第三方非rust 例如 c庫 有些包需要鏈結到 c庫,當然這些庫既可以位於系統上,也可以從源 構建。其...

012 Rust 網路程式設計,gRPC 演示示例

本例子的功能為grpc客戶端向服務端寫入位置資訊和讀取位置資訊,演示環境為ubuntu。安裝protobuf編譯器 apt install protobuf compilercargo new use grpc lib 記住這個名字use grpc,因為在編寫 的時候要用在use grpc目錄下,建...