Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Serveur dédié.  (Lu 4458 fois)

0 Membres et 1 Invité sur ce sujet

Certicom

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Serveur dédié.
« le: Janvier 18, 2019, 10:22:18 pm »
Bonjour,

Y'a t'il un moyen de faire un serveur dédié avec la SFML ?

Plus précis ? ok^^
J'ai développé un système classique de client / serveur pour un jeu, une machine crée un client et un serveur, puis les autres machines se connectent à ce serveur.
Maintenant, je voudrais pouvoir lancer mon serveur dans une application indépendante(dédié), puis sur la même machine lancer une application cliente.
Là où ça pose problème, c'est que du coup les ports sont déjà utilisés, la deuxième application ne peut donc pas recevoir.
J'ai naïvement essayé de contourner avec des connexions TCP entre applications comme je l'ai vu conseillé dans un autre post, toutefois aucune connexion ne se fait en localhost.
Y'a t'il un moyen de faire marcher ce système grâce à ce que propose la SFML et surtout sans IPC ?
Merci  :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Serveur dédié.
« Réponse #1 le: Janvier 19, 2019, 09:52:41 am »
Tu peux bien entendu avoir un client et un serveur sur la même machine, s'ils sont bien conçus il ne devraient pas utiliser les mêmes ports. Quant à une connexion TCP sur localhost, ça marche sans problème.

Commence par essayer les exemples réseau du SDK SFML, ils font tout ça de manière minimale, ça devrait t'aider à avoir de bonnes bases pour ton propre code.
Laurent Gomila - SFML developer

Certicom

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re: Serveur dédié.
« Réponse #2 le: Janvier 19, 2019, 01:22:29 pm »
Salut, merci en effet j'aurais du commencer par là désolé :-X

En effet erreur de design avec les ports...

Par contre, comment recevoir les broadcasts si chaque applications a un port d'écoute différent ? Celui qui arrive à recevoir le renvoie aux autres applications localhost? Plusieurs broadcasts ? Ou existe t'il une solution plus propre ?
« Modifié: Janvier 19, 2019, 01:31:59 pm par Certicom »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Serveur dédié.
« Réponse #3 le: Janvier 19, 2019, 05:57:06 pm »
Citer
Par contre, comment recevoir les broadcasts si chaque applications a un port d'écoute différent ? Celui qui arrive à recevoir le renvoie aux autres applications localhost? Plusieurs broadcasts ? Ou existe t'il une solution plus propre ?
Pourquoi tout le monde aurait un port d'écoute différent ? Ils sont tous sur la même machine ? Tu essaye de faire quoi là au juste ?
Laurent Gomila - SFML developer

Certicom

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re: Serveur dédié.
« Réponse #4 le: Janvier 19, 2019, 07:03:02 pm »
Non justement, je dois prendre en compte le cas où plusieurs applications sont sur la même machine (client + dédié) mais l'objectif est que cela reste un serveur au quel d'autres machines puissent se connecter.
Sauf que si un broadcast est émis, seul une application par machine peut écouter ce broadcast, car deux applications ne peuvent pas écouter le même port sur la même machine.

J'ai modifier mon code pour que chaque application choisisse un port libre puis quand elles se connectent, elles donnent au serveur ce port qu'il va utiliser pour communiquer avec un client spécifique.
Ce système à l'air de bien fonctionner, par contre pour la réception du broadcast je suis obligé de faire un hack qui n'est pas idéal.