2009-03-14 10 views
3

Alors que raknet semble assez intéressant et très attrayant d'un point de vue fonctionnel, ses licensing terms semblent être potentiellement gênants pour les projets GPL pouvant être exploités commercialement, ce qui est explicitement interdit par les termes de la licence Creative Commons.Bibliothèques Open Source et Multi-plateformes/Réseauter?

Alors il y a aussi opentnl, il ne semble pas être aussi activement maintenu plus de nos jours, le téléchargement en fait le dernier tarball stable échoue même lors de la compilation, car il ne semble pas soutenir gcc> = 3.0 (?)

Bien sûr, il y a toujours aussi enet, mais celui-ci ne peut pas vraiment être comparé aux fonctionnalités abstraites supportées par raknet/opentnl. Donc, en dehors de toutes les dépendances non-triviales comme ACE, Boost ou Poco, existe-t-il des alternatives viables pour intégrer une bibliothèque de réseau UDP assez compacte et bien entretenue?

Merci

Répondre

3

Le wiki of Ogre3D fournit une liste des bibliothèques en réseau et une courte description pour eux.

0

Malheureusement, la programmation réseau tend à être non triviale. Il a été indiqué qu'il serait conseillé de se familiariser avec les fonctions de programmation réseau de Boost ou d'ACE, car ces deux bibliothèques sont des bibliothèques matures qui ont été utilisées avec succès dans de nombreuses applications.

Je suggère également de lire C++ Network Programming: Mastering Complexity Using ACE and Patterns et C++ Network Programming: Systematic Reuse with ACE and Frameworks

+0

Merci, je parlais principalement de ces dépendances étant spécifiquement non-trivial, plutôt que la tâche elle-même. – none

1

Bien que cette réponse est en retard à la fête, j'utilise OpenTNL pour mon jeu, Bitfighter, et je l'aime vraiment. Je l'utilise sur OS X, Windows et Linux sans accroc. C'est vrai, ce n'est pas géré par son créateur, mais quand j'aurai le temps, je vais créer un nouveau projet SourceForge pour que les gens aient un endroit pour poster leurs patchs. C'est stable et (assez) bien documenté, donc je recommanderais de le regarder de nouveau.

1

J'ai cherché quelque chose de très similaire, mais en vain. J'ai donc décidé de créer ma propre bibliothèque de mise en réseau C++, au moment de la rédaction de ce document, elle n'est pas terminée, mais le sera très bientôt. Je vous tiendrai au courant si vous êtes intéressé à l'essayer. Ses fonctionnalités sont jusqu'à présent TCP/UDP, IPv4, IPv6 Async/Sync et la multidiffusion. S'il y a d'autres caractéristiques que vous avez à l'esprit qui devraient être implémentées, faites le moi savoir :)