Comment trouver la liste des parties lancés dans un jeu en reseau ?

tichau4 Messages postés 27 Date d'inscription dimanche 14 novembre 2004 Statut Membre Dernière intervention 14 février 2006 - 24 août 2005 à 20:59
tichau4 Messages postés 27 Date d'inscription dimanche 14 novembre 2004 Statut Membre Dernière intervention 14 février 2006 - 28 août 2005 à 22:17
Voila le probleme, je suis en train de faire un mini jeu reseau.

Quand on clique sur rejoindre une fenetre s'affiche avec la liste des
parties disponible sur le reseaux. ou en cherchan manuellement par
adresse ip.



La recherche manuelle marche tres bien. le probleme vien de la
recherche automatique, non seulement elle est exescivement longue
(environ 20 sec.) mais en plus à la fin le programme plant sur une
erreur : Asynchronous socket error 10061 !



Je pense ke toute la technique est mauvaise (je ping tte les adresses
une a une et cherche les parties sur les adresses ou le ping est
positif) auriez vous une autre solution ?



Merci d'avance



Tichau

7 réponses

Utilisateur anonyme
25 août 2005 à 02:08
Tu peux décrire un peu plus ton projet stp ?? quel est l'intéret d'avoir l'IP ???? Pk faire une recherche manuelle et une autre automatique???? c'est l'adresse Ip du serveur ou du client ????
0
Utilisateur anonyme
25 août 2005 à 02:11
Le ping me semble une opération dangereuse pour ta recherche : les IP sont parfois dynamiques. Le mieux est de demander dans ton programme client de transmettre son IP et non de la chercher : comme cela pas d'erreur (IP dynamique, pas de proxy ect ect).
0
tichau4 Messages postés 27 Date d'inscription dimanche 14 novembre 2004 Statut Membre Dernière intervention 14 février 2006
25 août 2005 à 10:53
quand un client ce connecte au serveur, celui ci envoi le nom de la partie.

En fait pour faire la liste des parties lancés je me connecte au
serveur un par un, pour trouvé les adresses des serveurs je ping toutes
les IP. Jai mi une recherche manuelle si l'automatique ne marche pa.
(le probleme cé qu'elle ne marche jamais et qu'elle fait planté le
programme)
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
28 août 2005 à 12:11
C'est pas bien de tester toutes la adresse ip. Ce qu'il te faut, c'est un serveur global. Losqu'une partie est crée, elle envoi son ip au serveur global. Lorsque tu veut rejoindre, tu te connecte au serveur global dont tu connai l'ip car c'est un serveur constant, tu demande la liste des parties et le serveur global te renvoi la liste des ip des parties en cours.

C'est ça qui est fait pour tout les jeux en lignes comme half-life par exemple.

neodelphi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tichau4 Messages postés 27 Date d'inscription dimanche 14 novembre 2004 Statut Membre Dernière intervention 14 février 2006
28 août 2005 à 20:12
ouai mais pour un jeux en lan ?
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
28 août 2005 à 20:56
Tu me pose une colle lol... DirectX le fait lui-meme pour le lan, il gère tout ce qui est liste des parties etc...
Je suppose (mais ça reste une suposition) qu'il faut envoyer un paquet volant dans le réseau, sans destinataire sur un certain port, et les jeux qui tournent doivent ecouter le reseau pour voir cet éventuel paquet. Il répondent alors en envoyant leur adresse IP. Je sais pas si l'envoi de ce paquet est possible avec une couche TCP/IP, je croit que ça se fait avec UDP, mais j'y connai pas grand chose.

neodelphi
0
tichau4 Messages postés 27 Date d'inscription dimanche 14 novembre 2004 Statut Membre Dernière intervention 14 février 2006
28 août 2005 à 22:17
merci quand même .
0
Rejoignez-nous