Salut
J'ai un petit soucie que je n'arrive pas a faire pour le moment.
j'ai 2 applications Client et Seveur, mais on sais très bien que les deux sont a la fois Client et Serveur en même temps puisqu'ils envoie et reçoivent entre eux enfin bref.
Les 2 communiques entre eux avec une bibliothèque réseau que j'ai utilisé qui s'appel Lidgren en C# et tout marche niquel
Bon a un moment, le Client doit envoyer une requête réseau au Serveur et ce dernier dois me retourner un résultat texte.
Ceci est facile avec ma librairie Lidgren mais le résultat est reçue dans une méthode et ceci se fait ultérieurement et le code continue de s’exécuter après l'envoie de cette requête.
Ce que je veut en quelque sort c'est une instruction qui envoie une requête au serveur et reçois le résultat sur un variable sur la même ligne qui envoie la requête genre
var result = SendSocketRequest("AllPhoneNumbers");
if(result.ToString() = "xxx")
...
En quelque sorte je veut bloquer le processus jusqu'à recevoir le data (en texte).
Je sais que je peut bien recevoir le résultat après le traitement,je l'ai fait dalleur MAIS franchement ceci me complique beaucoup la vie étant donné que ça me crée des problèmes si je ne reçois rien et j'aimerai rester sur le même bout de code "même méthode" pour continuer le traitement.
Je précise que j'ai déjà fait des recherche sur Lidgren et je n'ai pas trouvé cette fonction, il faut passer par un délegate qui pointe vers une méthode qui reçois les données donc la solution que j'attend ne se limite pas a cette bibliothèque, mais je pense que ceci est faisable avec les Socket en mode déconnecté et l'instruction Async Await.
Ça me gène pas de combiner des Socket avec mon application principale de réseau "Lidgren"
Je précise que j'utilise une application WinForm mais je pense que justement le Async / Await ne bloque pas le thread principale responsable du GUI
Je ne suis pas trop trop fort en C# c'est pour cela je me retourne vers vous et je ne peut que vous remercier infiniment.
Partager