Socket et C#

Signaler
Messages postés
4
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 juillet 2008
-
Messages postés
4
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 juillet 2008
-
Bonjour à tous !

Voilà je débute dans le réseau en programmation. J'ai trouvé une document sur les sockets en C# (initialisation du listener coté server et du client) mais il n'était pas indiqué la méthode pour envoyer ensuite des données via cette connexion établie. Quelqu'un pourrait-il me dire comment faire ?

Merci d'avance !

5 réponses

Messages postés
63
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
28 juin 2012

Salut

J'ai personnellement travailler aussi sur les socket en c# et je peut de conseiller cela çà ma beaucoup aider je l'es trouver très complet et très bien commenté. Bon courage

http://www.csharpfr.com/codes/CLIENT-SERVEUR-GENERIQUE-MULTI-CLIENT-SERIALISATION-DESERIALISATION-ECHANGES_45655.aspx

Stay GREAT forever [  ]
Messages postés
4
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 juillet 2008

Ok merci beaucoup, je vais jeter un oeil de suite
Messages postés
4
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 juillet 2008

Bon j'arrive à faire passer des messages (exercice du chat pour débuter bien sûr) néanmoins j'ai un truc bizarre.
Je me suis entrainé à faire deux applis consoles. L'une qui sert de serveur et affiche le texte envoyé depuis l'appli cliente sauf que j'ai plein d'espace dans ma console entre mes messages envoyés.

Voici mon code pour ceux qui veulent bien y jeter un coup d'oeil :

Partie serveur :

try
            {
                //On attend une connection qu'on stocke ensuite dans socket.
                socket = listener.AcceptSocket();

                if (socket != null)
                {
                    Console.WriteLine("Une connection a été acceptée.");
                }
                else
                {
                    Console.WriteLine("Problème avec l'acceptation de la connection.");
                }

                while (true)
                {
                    Byte[] buffer = new Byte[200];
                    socket.Receive(buffer);
                    Console.WriteLine("client dit : " + Encoding.ASCII.GetString(buffer));
                }
            }
            catch
            {
                Console.WriteLine("Connexion perdue");
            }

Et ma partie qui envoit les messages de mon appli cliente:

while (true)
                {
                    Console.WriteLine("Message à envoyer : ");
                    message = Console.ReadLine();

                    Byte[] buffer = Encoding.ASCII.GetBytes(message.ToCharArray());
                    netStream.Write(buffer, 0, buffer.Length);
                }

Merci d'avance pour les réponses
Messages postés
63
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
28 juin 2012

J'ai pas tous compris ton "j'ai plein d'espace dans ma console entre mes messages envoyés" néanmoin en regardant ton code je constate que Console.WriteLine("Message à envoyer : "); il y a déjà 2 espace entre le " : "  si c'est çà change et met
=> Console.WriteLine("Message à envoyer:");

Stay GREAT forever [  ]
Messages postés
4
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 juillet 2008

Oui non c'est vrai je me suis un peu mal exprimé. En fait j'ai plein de retour à la ligne. Par exemple je vais avoir :

Message1

Message2

....

Et ainsi de suite. Bref beaucoup de retour à la ligne entre chaque message que j'envoie.

On m'a dit qu'il serait possible d'utiliser StreamReader et StreamWriter. Ca semble possible mais je n'arrive pas à les utiliser. Si jamais quelqu'un a quelques lignes pour m'expliquer...