IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau et multijoueurs Discussion :

[C# & C++]Problème de Connexion


Sujet :

Réseau et multijoueurs

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut [C# & C++]Problème de Connexion
    Voilà, j'ai un projet personnel en développement. Je dévellope un jeu en C#, basé sur le framework XNA 3.0 et .NET 3.5, et par la suite, j'ai commencé à réfléchir sur le développement d'un serveur de jeu.

    Pour l'instant, le développement est généraliste et peut être utilisé pour n'importe quel projet.

    Donc, pour ce qui est du développement, j'ai essayé de créer une connexion assynchrone car dans beaucoup de jeux, notamment pour les MMO, il est nécessaire de pouvoir recevoir un grand nombre de connexion en même temps sans perdre de données et après recherche, j'ai découvert que les connexions synchrones avaient un risque de perte de données si le taux de transfert dépasse les capacité en réseau.

    J'ai également décidé de créer le serveur sous Linux, car Linux peut tourner sans environnement graphique et est, comme chacun le sait, plus léger que Windows. Or, Linux ne supporte pas le développement de Csharp avec les frameworks choisis. J'ai donc choisis de développer le serveur en C++. Mais je n'ai pas réussis à trouver quoi que ce soit pour les connexions assynchrones multi-language, multi-OS.

    Je suis pas très doué en anglais, mais je me débrouille. Je suis pas très doué en Linux, mais je me débrouille. Je suis pas très doué en compilation, je n'ai jamais réussis à compiler une librairie trouvée sur le net, mais s'il faut vraiment en passer par là, j'y passerai le temps qu'il faut.

    De toute manière, une librairie C# et C++ pour les connexions asynchrones, je suis pas sur que ca existe.

    Je pensais que le language importait peu quand il s'agissait de connexions internet, mais j'en suis plus si sur.

    L'idéal serait de trouver un exemple de code qui fonctionne.

  2. #2
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Citation Envoyé par Velvounet Voir le message
    Or, Linux ne supporte pas le développement de Csharp avec les frameworks choisis.
    Ça n'est pas tout a fait vrai. Tu as regardé du coté du projet Mono le pendant linux du framework .Net ?

    http://www.mono-project.com/Main_Page


    et le petit tuto dev qui va bien :
    http://morpheus.developpez.com/reseaucsharp/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Merci pour ta réponse, mais Mono pour le .NET vers 3.5 est encore en developpement. Ensuite, même si la version actuelle était compatible en network (il faudrait que j'essaie), ce ne serait qu'une solution de secours car j'ai choisis Linux pour sa légèreté et rajouter un framework lourd comme le .NET juste pour la partie .net.sockets serait pas pertinent dans cet optique.

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par Velvounet Voir le message
    J'ai donc choisis de développer le serveur en C++. Mais je n'ai pas réussis à trouver quoi que ce soit pour les connexions assynchrones multi-language, multi-OS.
    La communication peut se faire sur le client dans un langage/os et sur le serveur sur un autre langage/os. Le tout est d'encoder proprement les données envoyé et d'utiliser le même protocole d'un côté comme de l'autre. Le fait que ce ne soit pas le même os/langage de programmation importe peu.

    Exemple: le jeu dofus. Les serveurs sont en java. Donc cela fonctionne sur n'importe quel os du moment que la machine virtuelle est installée. Pourtant le client est écrit en flash. Bref un langage qui n'a pourtant rien avoir a priori. Mais avec les sockets on arrive à les faire communiquer ensemble. CQFD

    Le fait que ce soit asynchrone ou synchrone dépend seulement du framework utilisé il faut regarder dans la documentation pour voir comment programmer cela. Avec le c# il est aisé comme en java d'utiliser de manipuler les données issues du réseau. En c++ (je manipulé la communication réseau avec et cela fait longtemps que je n'ai plus utilisé ce langage), Mais de mémoire c'était un peu plus compliqué mais il existe des bibliothéques qui facilitait la manipulation. (Du moins si ma mémoire ne m'est pas défaillante, mais d'autres personnes du forums pourront me corriger ).

    Donc avant de penser à manipuler les sockets ce qui est simple en soit sur un langage comme le c#, il faut surtout savoir quel protocole on va utiliser (tcp/udp/ etc). Et quel format auront les requêtes sur le réseau afin qu'à la fois le serveur et le client puissent communiquer sans problème. (Et surtout veiller à utiliser le même encodage pour les données sinon il va y avoir de gros soucis de communication. Car pour peu qu'on utiliser des os différents, l'encodage par défaut sera trés probablement différent).

    Bon courage.
    Mon blog est sur https://arphonis.fr et bientôt d'autres fonctionnalités seront disponible dessus.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup pour ces explications.

    Je pense que j'ai dus faires des erreurs de prog, car j'ai pris les exemples de code dans differents endroits et je ne sais plus trop ce qui était utilisé comme protocole udp ou tcp.


    J'ai plus qu'à revoir les differentes librairies et surtout, à les comprendre xD

Discussions similaires

  1. [Première installation] Problème de connexion
    Par sekiryou dans le forum Installation
    Réponses: 2
    Dernier message: 02/03/2004, 19h18
  2. [ Oracle 9ias / 10g] problème de connexion
    Par Boosters dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/01/2004, 17h23
  3. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 09h28
  4. Réponses: 11
    Dernier message: 13/10/2003, 14h48
  5. problème de connexion 2 PC
    Par guitalca dans le forum Développement
    Réponses: 3
    Dernier message: 22/09/2003, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo