Halimaw (atys)
Really? I'm guessing you don't have much experience with real time network applications.Here are some suggestions, from a software engineer with 17 years experience including a lot of network software experience:
Halimaw (atys)
Use TCP. For the love of software, why would anyone write a protocol that runs across the internet and uses UDP.
Short answer: because TCP and UDP are not designed for the same usage. TCP is used when data integrity is critical and UDP when the throughput is critical and the data integrity isn't the main priority. That's why Ryzom, just like many real-time media applications uses both TCP and UDP depending on the nature of the data which is being transferred. I guess you're quite skeptical, therefore I'll have to name some well-known applications and protocols which relies on UDP (and also TCP, depending on the situation) like Skype, Teamspeak, the Real Time Streaming Protocol and the Real-time Transport Protocol.
If you don't trust me for a reason or another, let me quote Glenn Fiedler: "Using TCP is the worst possible mistake you can make when developing a networked game!" (source). This guy has an impressive résumé in the game programming industry, I think he knows what he's talking about and he explained it well in the article.
---
Markanjio di SegafredoAlkiane
Noble Gardien des Matis - Noble Matis Guardian
Fléau de l'Empire - Scourge of the Empire