reison1218/GameServer_Rust

是否有存在粘包问题?

Opened this issue · 2 comments

在 net_message_io.rs 中使用的是 Transport::Tcp 按照message-io的说明文档中,该方式不是以帧方式读取,可能存在客户端的数据还未完全接收,在 NetEvent::Message(_endpoint, data) 只有 block_on(self.on_message(data)) ,在 async fn on_message(&mut self, mess: Vec) 中的 build_array_from_server 似乎只是分解了包数据,并未考虑未完整的数据包。

谢谢你的提醒,确实Transport::Tcp存在这个问题,Transport::FramedTcp则是以帧的方式打包数据,那应该还可以设置大小,这个没仔细去看,好久没捣鼓了。
后面有空弄下,或者干脆换成tokio

恩,换成 tokio 方便很多,有兴趣一起搞个服务器,加QQ:101011100