ffi调用kcp,有个回调不是异步的,没法发送,不知道怎么处理比较好
extern "C" fn callback(buf: *const libc::c_char, len: libc::c_int, kcp: *const Ikcp, user: *const libc::c_void) {
unsafe {
let slice = std::slice::from_raw_parts(buf as *const u8, len as usize);
let socket = unsafe { &*(user as *const UdpSocket) };
socket.send_to(slice, "127.0.0.1:8080").await.unwrap();
}
}
现在想到的是数据先存起来,在异步函数检测再发送,但是slice是引用只能clone出来存,这样效率太低,大神们有啥好办法么
1
共 2 条评论, 1 页
评论区
写评论用spawn?
同关心这个。有没有进展。我还没研究到这里去。