Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Constrained Application Protocol(CoAP) library implemented in Rust.

License

NotificationsYou must be signed in to change notification settings

Covertness/coap-rs

Repository files navigation

CircleCIWindows Build StatusDownloadsCoverage StatusMIT licensed

A fast and stableConstrained Application Protocol(CoAP) library implemented in Rust.

Features:

Documentation

Installation

First add this to yourCargo.toml:

[dependencies]coap ="0.22"coap-lite ="0.13.3"tokio = {version ="^1.32",features = ["full"]}

Example

Server:

use coap_lite::{RequestTypeasMethod,CoapRequest};use coap::Server;use tokio::runtime::Runtime;use std::net::SocketAddr;fnmain(){let addr ="127.0.0.1:5683";Runtime::new().unwrap().block_on(asyncmove{letmut server =Server::new_udp(addr).unwrap();println!("Server up on {}", addr);         server.run(|mutrequest:Box<CoapRequest<SocketAddr>>|async{match request.get_method(){&Method::Get =>println!("request by get {}", request.get_path()),&Method::Post =>println!("request by post {}",String::from_utf8(request.message.payload.clone()).unwrap()),&Method::Put =>println!("request by put {}",String::from_utf8(request.message.payload.clone()).unwrap()),                 _ =>println!("request by other method"),};match request.response{Some(refmut message) =>{                     message.message.payload =b"OK".to_vec();},                 _ =>{}};return request}).await.unwrap();});}

Client:

use coap_lite::{RequestTypeasMethod,CoapRequest};use coap::{UdpCoAPClient};use tokio::main;#[tokio::main]asyncfnmain(){let url ="coap://127.0.0.1:5683/Rust";println!("Client request: {}", url);let response =UdpCoAPClient::get(url).await.unwrap();println!("Server reply: {}",String::from_utf8(response.message.payload).unwrap());}

Benchmark

$ cargo bench

About

A Constrained Application Protocol(CoAP) library implemented in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors26

Languages


[8]ページ先頭

©2009-2025 Movatter.jp