use rustvncserver::VncServer;
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
env_logger::init();
println!("Starting VNC server on port 5900...");
println!("Connect with: vncviewer localhost:5900");
println!("Password: test123");
let (server, _events) = VncServer::new(
800,
600,
"RustVNC Example".to_string(),
Some("test123".to_string()),
);
let mut pixels = vec![0u8; 800 * 600 * 4]; for y in 0..600 {
for x in 0..800 {
let offset = (y * 800 + x) * 4;
pixels[offset] = (x * 255 / 800) as u8; pixels[offset + 1] = (y * 255 / 600) as u8; pixels[offset + 2] = 128; pixels[offset + 3] = 255; }
}
server
.framebuffer()
.update_cropped(&pixels, 0, 0, 800, 600)
.await
.expect("Failed to update framebuffer");
println!("Framebuffer updated with test pattern");
println!("Server ready for connections");
server.listen(5900).await?;
Ok(())
}