Récupération d'infos d'un serveur de jeu?

Résolu
Signaler
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
-
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
-
Bonjour,

Je souhaites récupérer les informations d'un serveur de jeu SWAT 4. J'ai un script php qui le permet, et j'aimerais la même chose en c#.

Le script php est le suivant (extrait):
$fp = @fsockopen("udp://80.82.18.40", "10480", $errno, $errstr, 1);
fwrite($fp, "\\players\");
$buffer = fread($fp, 4096);

La variable buffer contient les données.

en C#, j'ai tenté de faire ceci:

//Connection à mon serveur SWAT 4
UdpClient udp = new UdpClient("80.82.18.40", 10480);
string texte = "\\players\";
byte[] rq = System.Text.ASCIIEncoding.Default.GetBytes(texte);
DateTime ping = DateTime.Now;

//Envoi de la requete
int c = udp.Send(rq,rq.Length);

//Reception
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
Byte[] rep = udp.Receive(ref RemoteIpEndPoint);

string nbping = DateTime.Now.Subtract(ping).Milliseconds.ToString();
string reponse = System.Text.Encoding.Default.GetString(rep);
udp.Close();
label1.Text = reponse; //Affichage de la reponse dans un label pour test

Seulement le probleme est que rien ne s'affiche dans le label. J'ai un espace vide. Une idée?

3 réponses

Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008

C'est bon, je viens de réussir.
Pour ceux qui ont ou auront le même probleme, je donne la solution:
Certains serveurs de jeu nécéssitent d'ajouter 1 au port. Si le serveur tourne sur le port 10480, connectez vous au port 10481
Pour ce qui est de mon probleme d'affichage, tout s'affiche correctement désormais :)
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Je connais pas le php, ça marche si tu passes la chaine "\\\\players\\\"
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008

Non, j'ai toujours aucune réponse.
Le probleme est que lorsque je met le même script et que je l'affiche dans une console, j'ai quelque chose qui s'affiche, même si ce n'est pas les informations que je souhaites avoir :s

Pourtant le script est exactement le même, c'est juste qu'à la fin j'ai un
Console.WriteLine(reponse);
Thread.Sleep(5000);
à la place du label1.Text = reponse;

Si quelqu'un a une idée de la source de ce probleme? Sinon, pour en revenir à la requête envoyée, peu importe la requete mise à la place de \\players\\, j'ai les trois mêmes caracteres qui s'affichent dans la console, à savoir Àÿ? ... Autant dire que ce n'est pas du tout la réponse que l'attendais