Bonjour.

J'ai crée un jeu en réseau tout simple . Il se joue en local et le but est d'envoyer au serveur (sur lequel on jou aussi) son score de manière a ce que le serveur fasse le calcul et renvoi au client qui a gagné.

J'ai mis le serveur en écoute en asynchrone , et lorsque je click sur le bouton connection du client je me connect, jusque la pas de soucis.

Le problème est lors de l'envoi/reception , voila le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public void Envoi()
        {
            System.Net.IPAddress ipAdd = new System.Net.IPAddress(IP); // définie l'ip
            System.Net.IPEndPoint EP = new System.Net.IPEndPoint(ipAdd, 503);
            socketCli.SendTo(bufE, EP);
        }
 
        // Fonction de reception de données
        public void Reception()
        {
            socketServ.BeginReceive(bufR, 0, 255, SocketFlags.None, new AsyncCallback(ReceptionCallback), socketServ);
        }
 
        // Fonction d'aquittement de la reception
        public void ReceptionCallback(IAsyncResult result)
        {
            socketServ.EndReceive(result);
        }
Le problème est que lors de l'appui sur le bouton visant a lancer la fonction de reception( je ne sais toujours pas comment faire une boucle infini qui ne bloque pas le programme donc je fais plein de boutons) , une erreur apparait et dit que le socketServ n'est pas connecté.

Seulement , comment connecter le serveur au client ? ce qui n'est pas logique finalement , bref je suis un peu perdu avec ce problème .Je pensais que la connection était réciproque et non qu'il fallai faire de meme dans l'autre sens ce qui met en péril le principe serveur/Client , je pense donc être passé a coté de la solution sans m'en rendre compte.
Cette apply est mon Projet de deuxième année et je vous avous avoir débuté cette année le c# donc je ne suis pas très fort.

Savez vous d'ou vient le problème svp?