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

Résolu
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008 - 28 déc. 2005 à 22:42
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008 - 29 déc. 2005 à 14:45
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

benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008
29 déc. 2005 à 14:45
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 :)
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
29 déc. 2005 à 12:20
Je connais pas le php, ça marche si tu passes la chaine "\\\\players\\\"
0
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008
29 déc. 2005 à 12:51
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
0
Rejoignez-nous