IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

peut-on recevoir une réponse via Socket sur la même ligne (sans callBack)


Sujet :

C#

  1. #1
    Membre régulier

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut peut-on recevoir une réponse via Socket sur la même ligne (sans callBack)
    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.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    aves les classes du Framework il faudrait faire un send puis un (ou plusieurs) receive, ca attendrait donc la réponse
    avec tes classes si tu sais comment recevoir des données sans attendre un event c'est ca qu'il faut, sinon tu lis la doc de ton truc, sinon tu passes par le Framework qui sait très bien faire du socket tout seul ^^

    sinon y a wcf où on peut réellement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var result = objserver.TelleFonction(paramètres);
    et ca s'occupe de l'aller retour
    (en plus c'est pas juste un string qu'on envoie, c'est un appel d'une méthode/fonction par son nom, avec l'intellisense, à laquelle on peut passer les paramètres de tout type directement y compris des classes (idem pour le retour de fonction))
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Passer une secretKey via socket (format byte[])
    Par kranagard dans le forum Sécurité
    Réponses: 12
    Dernier message: 30/11/2010, 11h39
  2. Transmission d'une ArrayList via Socket
    Par Illuminati dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 26/11/2010, 14h44
  3. Envoi d'une structure via sockets
    Par milanoran dans le forum C++
    Réponses: 8
    Dernier message: 17/11/2010, 14h19
  4. Réponses: 3
    Dernier message: 21/05/2010, 10h43
  5. Réponses: 2
    Dernier message: 21/06/2006, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo