< 返回版块

243011068 发表于 2020-05-07 19:25

Tags:ffi,kcp,async

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出来存,这样效率太低,大神们有啥好办法么

评论区

写评论
jmjoy 2020-05-14 18:21

用spawn?

Mike Tang 2020-05-11 10:22

同关心这个。有没有进展。我还没研究到这里去。

1 共 2 条评论, 1 页