Bonjour,
je désire créer deux appliactions toutes betes (pour apprendre a me servir des sockets). Une serveur et une cliente.
le but est que le client se connecte au serveur et une fois connecter, on peut lui envoyer une chaine, le serveur la recoit et la renvoit au client. Rien de bien méchant.
J'y arrive parfaitement en mode synchrone.
En revanche, en ce qui concerne le mode asynchrone, j'éprouve qques difficultés de compréhension.
Je parle uniquement de la connexion du client au serveur :
avec la procédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private static ManualResetEvent connectDone = new ManualResetEvent(false); private void cmdaConnexion_Click(object sender, System.EventArgs e) { System.Net.IPAddress AdresseIP = System.Net.IPAddress.Parse("192.168.0.1"); System.Net.IPEndPoint Serveur = new IPEndPoint (AdresseIP,8221); socWorker=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); socWorker.BeginConnect(Serveur, new AsyncCallback(ConnectCallback), socWorker); connectDone.WaitOne(); }
lors du socWorker.BeginConnect, je n'arrive pas a comprendre le sens de l'arguement new AsyncCallback(ConnectCallback), a quoi sert il ?...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private static void ConnectCallback(IAsyncResult ar) { Socket socWorker = (Socket) ar.AsyncState; client.EndConnect(ar); connectDone.Set(); }
je ne comprend pas bien car comme argument, il appelle la procédure ConnectCallback qui elle meme prend comme argument ar alors que je ne l'ai spécifié nulpart...
Bref, si qqun pouvait m'expliquer simplement le principe de fonctionnement de la connexion asynchrone je vous en serais tres reconnaissant car j'ai un peu de mal j'avoue.
Et si aussi vous avez des tutos je suis preneur
merci d'avance
Partager