Matrix-Zhang / tokio_kcp

A Kcp implementation for tokio
MIT License
176 stars 44 forks source link

Questions #8

Closed bschwind closed 6 years ago

bschwind commented 6 years ago

Hi! I'm doing some research on modern networking libraries for games, with a focus on Rust.

I understand and have used a library like Enet for optionally reliable UDP packets. Is kcp a viable alternative to Enet? Can it have both reliable and unreliable packets working concurrently?

I'm really interested in the claims I've seen here.

What applications are best suited for kcp, and what motivated you in particular to write this Rust port?

zonyitoo commented 6 years ago

I don't know much about Enet.

kcp is suitable for unreliable network, for example, network with high lost rate.

I contribute to this library because I want to write a proxy server, which can work in network with very high lost rate.

bschwind commented 6 years ago

Thanks for the response! I think I understand the main points of kcp by this point, correct me if I'm wrong:

If you just want to send a stream of position updates in a video game where you don't care about older dropped packets, you're better off just using UDP and maybe using kcp for voice chat or something similar. At least, that's how I understand it so far.

zonyitoo commented 6 years ago

Exactly.