use std::env; use ericrfb::handshake::{Config, connect}; fn main() { let args: Vec = env::args().collect(); let host = args .iter() .position(|a| a == "--host") .and_then(|i| args.get(i + 1)) .expect("usage: --host --applet-id [--port ]"); let applet_id = args .iter() .position(|a| a == "--applet-id") .and_then(|i| args.get(i + 1)) .expect("usage: --host --applet-id [--port ]"); let port: u16 = args .iter() .position(|a| a == "--port") .and_then(|i| args.get(i + 1)) .and_then(|s| s.parse().ok()) .unwrap_or(443); let cfg = Config::new(host, port, applet_id); println!("Connecting to {}:{}...", cfg.host, cfg.port); match connect(&cfg) { Ok(session) => { println!( "Connected: name={:?}, {}x{}, version={}.{}, format={}", session.server_name, session.width(), session.height(), session.server_version.0, session.server_version.1, session.pixel_format.label, ); } Err(e) => { eprintln!("Handshake failed: {e}"); std::process::exit(1); } } }