à la recherche d'une librairie réseau ! [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
12 décembre 2006
-
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
Bonjour à tous,

je dois faire un projet en C++ (de préférence Visual et sous Windows)
avec une grosse partie réseau : Il s'agit d'un jeu de stratégie (au
tour par tour) mettant en réseau une dizaine de joueurs.

Je vais donc utiliser une connection TCP, mais comme je n'ai aucune
connaissance en programmation réseau je ne sais pas sur quel librairie
me lancer ! Aprés quelques recherches sur internet j'ai fait une petite
liste des librairies paraissant intéressant, et j'aimerais quelques
conseils pour savoir les avantages/inconvnients concrets de chacune
d'elles :

SDL_Net

netwib

où utiliser directement les Sockets


Si vous connaissez aussi une autre librairie pour ce type de programmation, je suis preneur.

Merci d'avance à ceux qui prendront le temps ...

16 réponses

Messages postés
4
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
12 décembre 2006

Tout d'abord : merci beaucoup pour vos réponses

En effet, je ne peut pas inclure de Java parce que d'autres personnes
bosses sur ce projet avec moi et nous avons convenu de le faire en C++
: donc même si cela simplifierai le réseau, je dois me contenter de
sockets ou d'une surcouche.


Pour la bibliothèque RakNet, j'ai fait quelques recherches et elle est
surtout adapté pour un réseau UDP ! Donc je ne peux pas non plus
l'utiliser.

Pour l'instant je pense que je vais m'orienter du coté de la SDL_net :
SDL étant une librairie assez connue, j'ai vu aussi qu'elle pouvait
gérer le mutli threading de manière assez simple, et proposer aussi une
librairie pour la compression de donnée.


Voilà ! Merci encore !
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Moi perso pour un jeu je me suis servi d'une source de ce site:
http://www.cppfrance.com/codes/SOCKETS-CPLUSPLUS-COMME-DS-MIRC-TOUT-EST-SIMPLE_20546.aspx

Elle est basique mais pour un petit projet elle est tres bien meme si elle n'est pas totallemnt asynchrone d'apres les commentaires (moi a part a la connexion j'ai aucun probleme avec)
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

winsock.h
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

ws32_2.lib :)
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Vous pouvez aussi faire une phrase quand vous répondez à une question, parce que ws32_2.lib (au passage, ca marchera mieux avec ws2_32.lib), c'est pas sur que ca l'aide, et puis c'est la même réponse que winsock.h.
Donc pour expliquer, la librairie WinSock te permet d'utiliser le protocole TCP/IP pour communiquer sur le réseau (avec les fonctions connect, accept, bind, send, recv...). Je pense que c'est le truc de plus bas niveau que tu peux utiliser pour faire de la programmation réseau (SDL_Net en est sans doute une surcouche). La majorité des codes présents sur ce site sont écrits avec cette librairie.

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Moi, je te conseille d'utiliser Java, car la programmation réseau est :

1. très élégante
2. simple
3. performante.
4. tout ce que tu veux ...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Dans le message initial: " je dois faire un projet en C++"
A moins que Java ne soit devenu une librairie pour C++, ca ne répond pas au problème

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Es tu sûr qu'il dois faire son projet en C++?
Peut être qu'il change de point de vue à tout moment.

Moi, j'ai dit franchement ce que je connais.

Merci, pour la moquerie !!!

Java est le meilleur dans tout ce qui est réseau ...
_________________________________________________________________
A.B. : La chance sourit aux audacieux.
Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
14 novembre 2007

Si tu veux programmer avec winsock, il y a des très bonnes explications sur www.frameip.com

Pour le TCP: http://www.frameip.com/c-mode-connecte/
Pour l'UDP: http://www.frameip.com/c-mode-non-connecte/
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Pour utiliser les sockets java il te faut un certificat je crois.
winsock c'est assez simple,Alcantornet t'a mit un bon lien.
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Les certificats sont nécessaires dans le cas des applets seulement vu qu'ils sont sécurisées; La programmation avec Java réseau est simple -un constructeur fait le tout- n'oublie pas que tu as besoin du multi-threading qui est un peu délicat en C++, en Java c'est un jeu.
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
Java : il ne doit pas être le seul sur le projet, on ne va pas faire changer toute une team pour ça. Et filezilla est prog en C++ si je me souviens bien. Merci d'éviter les trolls "Java c'est mieux" ; ) ( Java : compile once, debug everywhere ( dsl j'ai pas pu m'en empêcher, mais de toute façon j'en fais du java ce n'est qu'une boutade )).
WinSocks : certes mais pas portable
Toute source dispo sur cppfrance : certes mais il s'agit plus de coups d'essai , peu stables.

Je te conseille RakNet, il paraît que c'est particulièrement bien pour tout ce qui est jeu en réseau.

Vecchio -> A moins que Java ne soit devenu une librairie pour C++, ca ne répond pas au problème     mdr

_______________________

Omnia vincit labor improbus
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
D'après ce que j'avais cru comprendre, WinSock est basé sur les sockets BSD, tout comme UNIX. Donc en fait la seule chose qui diffère selon qu'on est sous Windows ou Linux, c'est les includes. Après le code reste le même (mêmes structures et mêmes primitives). Je me trompe?
Concernant le multithreading, je ne suis pas certain mais je crois bien qu'il est géré automatiquement en C (la fonction accept va créer un nouveau thread pour chaque connexion)

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Moi j'avais vu comme librairie Zoidcom, je sais pas vraiment ce que ça vaut mais on m'avait dis que c'était pas mal (j'ai pas testé car il n'est pas compatible avec VC++ 6.0 ).

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Il faut utiliser un fork pour créer un processus fils auquel on délégue quelques tâches.
D'ailleurs, c'est typique dans les programmes utilisant la socket sous UNIX.
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
comme tu le sens, mais où est le problème si c'est en UDP ?

_______________________

Omnia vincit labor improbus