begin process at 2010 02 10 00:22:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Sockets

 > 

lecture message dans socket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture message dans socket

lundi 12 février 2007 à 12:06:57 | lecture message dans socket

diego29

Membre Club

bonjour,

mon problème est le suivant :
j'ai une fonction qui lit les messages transmis par des sockets, le buffer qui recoit le message fonctionne bien mais je n'arrive pas à le réinitialiser correctement c'est à dire qu'il garde le message précédent et ne fait qu'écrire le nouveau par dessus donc il peut rester des caractères du précédent.

voici ma fonction :

privatevoid ReceiveCallback(IAsyncResult asyncResult)

{
      string[] obj;

      try

      {

            //On récupere le socket de la connection
            Socket socket = ( Socket )asyncResult.AsyncState;
            //on lit les données sur le socket
            int read = socket.EndReceive(asyncResult);
            //si on lit plus de 0 octet alors c'est que tout le message a été transmis

            if ( read > 0 )     {

                  //ajoute le message

                  obj =

new string [] { "Serveur dit :" + Encoding .ASCII.GetString( this .readbuf)};
                  this .listBox.Invoke( new DelegateDisplay ( this .DisplayMessage),obj);

                  // reset buffer 
                  Buffer .SetByte( this .readbuf, 0, 0);

                    // On initie une lecture
                    this .SocketClient.BeginReceive(t his .readbuf,0, this .readbuf.Length, SocketFlags .None, new    AsyncCallback (ReceiveCallback), this .SocketClient);
                  }
                        //Si 0 octet est transmis alors on doit fermer la connection
                  if ( read == 0 && ! this .LocalsocketClientIsShutingDown)

                  {
                        this .SocketClient.Close();
                        obj =
new string [] { "Fermeture socket distante" };
                        this .listBox.Invoke( new DelegateDisplay ( this .DisplayMessage),obj);
                    }
           }
         catch ( SocketException ex)
         {
               obj =
new string [1] {ex.Message};
               this .listBox.Invoke( new DelegateDisplay ( this .DisplayMessage),obj);
           }
}

merci d'avance


Cette discussion est classée dans : message, string, socket, obj, readbuf


Répondre à ce message

Sujets en rapport avec ce message

Serveur multiclient [ par xankow ] Salut,je suis en train de developper une application en C#, mais je n'en pas beaucoup de base dans ce langage.J'ai trouver plusieur sources qui m'ont InvaLidOperationException après envoi de Message par Socket Asynchrone [ par sebkill25 ] Bonjour,Dans une application Client/serveur de messagerie instantannée j'ai les fonctions suivantes permettant la réception d'un message envoyé.Code : deconnexion de serveur [ par OxN ] Bonjour j'ai un client qui envoi un message a un serveur. Toutefois je n'arrive pas a deconnecter mon serveur afin de le reconnecter. voici le code d socket dans un system distribué [ par H00R18le ] bonjour , je cherche à crée trois application qui communiquent entre elles,chaque application dans une machine elles communiquent en tant que client e Substitution string string dans une phrase [debutant] [ par jeanpierre691 ] Salut Bon voilà, je fais actuellement un projet très simple sur C#, je l'ai commencé il n'y a pas longtemps, et pourtant, je rencontre quelques diffi Probleme C# BDD OutOfRange [ par KrqcS ] Bonjour à vous, j'essaye désesperemment de mettre le contenu de la colonne d'une table dans une combobox mais pas moyen. [code=cs]OleDbConnection Cal création et utilisation d?une dll (erreur ArgumentOutOfRangeException ) [ par tendence ] Bonjour j´ai réalisé une petite application d´un client mail, dans l´état basique des choses je n´ai implémenté que les fonctionnalité de base décrite Probléme d'envoi mail [ par drcmomo ] Bonjour tout le monde , J'ai un Formulaire dans le lequel je dois saisir des données, en cliqueant sur le bouton Valider je dois aussi envoyer un mail Problème avec ma connection TcpClient [ par nclscartman ] Bonjour, j'ai développé une boite de reception (Mail) avec différentes options : reception de mail envoi de mailrépertoire de contactect..Mais je renc Socket - send - data [ par Nairda ] Bonjour, Je suis relativement nouveau dans le monde du .net et plus particulière en C#. J'ai un petit problème de conception et j'espère que vous pour


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales