add error message

This commit is contained in:
Jovi Hsu 2022-10-08 07:18:15 +00:00
parent e72a718b94
commit ce95686417

View File

@ -65,12 +65,13 @@ fn vnc_out_handler(ws: &WebSocket, vnc: &Vnc, canvas: &CanvasUtils) {
match o { match o {
vnc::VncOutput::Err(err) => { vnc::VncOutput::Err(err) => {
console_log!("Err {}", err); console_log!("Err {}", err);
vnc_close_handle(vnc, canvas, err);
} }
vnc::VncOutput::WsBuf(buf) => match ws.send_with_u8_array(buf) { vnc::VncOutput::WsBuf(buf) => match ws.send_with_u8_array(buf) {
Ok(_) => {} Ok(_) => {}
Err(err) => { Err(err) => {
console_log!("error sending message: {:?}", err); let err = format!("error sending message: {:?}", err);
vnc_close_handle(vnc, canvas); vnc_close_handle(vnc, canvas, &err);
} }
}, },
vnc::VncOutput::RequirePassword => { vnc::VncOutput::RequirePassword => {
@ -112,7 +113,7 @@ fn vnc_out_handler(ws: &WebSocket, vnc: &Vnc, canvas: &CanvasUtils) {
} }
} }
fn vnc_close_handle(vnc: &Vnc, canvas: &CanvasUtils) { fn vnc_close_handle(vnc: &Vnc, canvas: &CanvasUtils, msg: &str) {
vnc.close(); vnc.close();
unsafe { unsafe {
REFRESHER.take(); REFRESHER.take();
@ -124,7 +125,7 @@ fn vnc_close_handle(vnc: &Vnc, canvas: &CanvasUtils) {
.unwrap() .unwrap()
.get_element_by_id("vnc_status") .get_element_by_id("vnc_status")
.unwrap(); .unwrap();
status.set_text_content(Some("Disconnected")); status.set_text_content(Some(msg));
} }
fn start_websocket() -> Result<(), JsValue> { fn start_websocket() -> Result<(), JsValue> {
@ -200,7 +201,7 @@ fn start_websocket() -> Result<(), JsValue> {
let onclose_callback = Closure::<dyn FnMut()>::new(move || { let onclose_callback = Closure::<dyn FnMut()>::new(move || {
console_log!("socket close"); console_log!("socket close");
vnc_close_handle(&vnc, &canvas); vnc_close_handle(&vnc, &canvas, "Disconnected");
}); });
ws.set_onclose(Some(onclose_callback.as_ref().unchecked_ref())); ws.set_onclose(Some(onclose_callback.as_ref().unchecked_ref()));
onclose_callback.forget(); onclose_callback.forget();