Skip to content
Snippets Groups Projects
Select Git revision
  • e9788ff9b69a3725f39db4aa31c36946b53bea64
  • master default protected
  • exam
  • exper
  • klee
  • simple
  • v0.3.2
  • v0.3.1
  • v0.3.0
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.1
  • v0.1.0
14 results

lib.rs

Blame
  • client_and_server.rs 926 B
    extern crate coap;
    
    use coap::packet::*;
    use coap::{CoAPServer, CoAPClient};
    
    fn request_handler(req: Packet, resp: CoAPClient) {
    	let uri_path = req.get_option(OptionType::UriPath);
    	assert!(uri_path.is_some());
    	let uri_path = uri_path.unwrap();
    	let mut packet = Packet::new();
    
    	packet.header.set_version(1);
    	packet.header.set_type(PacketType::Acknowledgement);
    	packet.header.set_code("2.05");
    	packet.header.set_message_id(req.header.get_message_id());
    	packet.set_token(req.get_token().clone());
    	packet.payload = uri_path.front().unwrap().clone();
    	resp.send(&packet).unwrap();
    }
    
    fn main() {
    	let mut server = CoAPServer::new("127.0.0.1:5683").unwrap();
    	server.handle(request_handler).unwrap();
    		
    	let url = "coap://127.0.0.1:5683/Rust";
    	println!("Client request: {}", url);
    
    	let response: Packet = CoAPClient::request(url).unwrap();
    	println!("Server reply: {}", String::from_utf8(response.payload).unwrap());
    }