Skip to content

Commit 229add4

Browse files
committed
添加帧同步
1 parent 90fb7bd commit 229add4

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

dsweb-core/src/main.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ fn main() {
9494
fcheck(&args.files);
9595

9696
let bind = SocketAddrV4::from_str(&args.bind).unwrap();
97+
// let (sync_sender, sync_receiver) = std::sync::mpsc::channel::<>();
98+
9799
let (sender, receiver) = std::sync::mpsc::channel();
98100

99101
let (temp_sender, temp_receiver) = std::sync::mpsc::channel();
@@ -139,7 +141,12 @@ fn main() {
139141
eprintln!("worker stop {}", k);
140142
false
141143
} else {
142-
true
144+
if let Some(_) = wss.next() {
145+
true
146+
} else {
147+
eprintln!("worker stop {}", k);
148+
false
149+
}
143150
}
144151
});
145152
}

dsweb-front/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ pub fn start_websocket(canvas_id: &str, host: &str, width: usize, height: usize,
5555
let rm = ((k % n) * subimage_width) as f64;
5656
// 真实的所在行
5757
let rn = ((k / n) * subimage_height) as f64;
58+
let ws1 = ws.clone();
5859
let onmsg = Closure::wrap(Box::new(move |e: MessageEvent| {
5960
if let Ok(abuf) = e.data().dyn_into::<js_sys::ArrayBuffer>() {
6061
let array = js_sys::Uint8Array::new(&abuf);
@@ -70,6 +71,7 @@ pub fn start_websocket(canvas_id: &str, host: &str, width: usize, height: usize,
7071
.unwrap();
7172
// 画子图像
7273
ctx.put_image_data(&im, rm, rn).unwrap();
74+
ws1.send_with_str("S").unwrap();
7375
}
7476
}) as Box<dyn FnMut(MessageEvent)>);
7577
ws.set_onmessage(Some(onmsg.as_ref().unchecked_ref()));

0 commit comments

Comments
 (0)