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 :

client tcp socket


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 41
    Par défaut client tcp socket
    bonjour
    je suis entrain de programmer un programme serveur client c#
    le client doit lire les lignes d'un texte puis envoyer ces meme lignes au serveur
    voila le code du client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    using System;
    using System.IO;
    using System.Net.Sockets;
     
    class EmployeeTCPClient
    {
        public static void Main(string[] args)
        {
            TcpClient client = new TcpClient("127.0.0.1", 4554);
            try
            {
                Stream s = client.GetStream();
                StreamReader sr = new StreamReader(s);
                StreamWriter sw = new StreamWriter(s);
                sw.AutoFlush = true;
     // Create an instance of StreamReader to read from a file.
                // The using statement also closes the StreamReader.
                StreamReader srt = new StreamReader("trame.txt");
                String line;
     // Read and display lines from the file until the end of 
               // the file is reached.
     
     
                while ((line = srt.ReadLine()) != null)
                {
                    sw.WriteLine(line);
     
                }
                s.Close();
            }
            finally
            {
                // code in finally block is guranteed 
     
                // to execute irrespective of 
     
                // whether any exception occurs or does 
     
                // not occur in the try block
     
                 client.Close();
            }
        }
    }
    et celui du serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    using System;
    using System.IO;
    using System.Net.Sockets;
     
    class EmployeeTCPClient
    {
        public static void Main(string[] args)
        {
            TcpClient client = new TcpClient("127.0.0.1", 4554);
            try
            {
                Stream s = client.GetStream();
                StreamReader sr = new StreamReader(s);
                StreamWriter sw = new StreamWriter(s);
                sw.AutoFlush = true;
     // Create an instance of StreamReader to read from a file.
                // The using statement also closes the StreamReader.
                StreamReader srt = new StreamReader("trame.txt");
                String line;
     // Read and display lines from the file until the end of 
               // the file is reached.
     
     
                while ((line = srt.ReadLine()) != null)
                {
                    sw.WriteLine(line);
     
                }
                s.Close();
            }
            finally
            {
                // code in finally block is guranteed 
     
                // to execute irrespective of 
     
                // whether any exception occurs or does 
     
                // not occur in the try block
     
                 client.Close();
            }
        }
    }
    j'ai l'erreur suivante : impossible d'ecrire les donnees sur la ligne de transport : une connexion a été abandonnée par un logiciel de votre ordinateur hôte
    donc je recois rien du tout!
    je ne sais d'où vient l'erreur??
    any propositions??
    mErci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as mis 2 fois le code du client, il n'y a pas celui du serveur...

    Sinon il manque un client.Connect avant le client.GetStream

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 41
    Par défaut
    desole voila celui du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    namespace SaurabhNet
    {
        using System;
        using System.Net.Sockets;
        using System.Net;
        using System.Threading;
        using System.Configuration;
        using System.IO;
        using DAO.Services;
        using entities;
        //Import the necessary Namespaces
     
        //Class which shows the implementation of the TCP DateTime server
     
        public class DateServer
        {
            private TcpListener myListener;
     
            private int port = 4554;
            //The constructor which make the TcpListener start listening on the
            //given port.
            //It also calls a Thread on the method StartListen(). 
     
            public DateServer()
            {
                try
                {
                    IPAddress ip = IPAddress.Parse("10.63.36.78");
     
                    //start listing on the given port
                    myListener = new TcpListener(ip, port);
                    myListener.Start();
                    Console.WriteLine("Server Ready -Listening for new Connections ");
                    //start the thread which calls the method 'StartListen'
                    Thread th = new Thread(new ThreadStart(StartListen));
                    th.Start();
     
                }
                catch (Exception e)
                {
                    Console.WriteLine("An Exception Occurred while Listening :"
                           + e.ToString());
                }
            }
     
            //main entry point of the class
            public static void Main(String[] argv)
            {
                DateServer dts = new DateServer();
            }
     
            //This method Accepts new connection and
            //First it receives the welcome massage from the client,
            //Then it sends the Current date time to the Client.
            public void StartListen()
            {
                while (true)
                {
                    Socket soc = myListener.AcceptSocket();
                    if (soc.Connected)
                    {
                        Console.WriteLine("Client Connected!!");
                        Console.WriteLine("Connected: {0}", soc.RemoteEndPoint);
                        try
                        {
                            Stream s = new NetworkStream(soc);
                            StreamReader sr = new StreamReader(s);
                            StreamWriter sw = new StreamWriter(s);
                            sw.AutoFlush = true; // enable automatic flushing
     
     
                            while (true)
                            {
                                string name = sr.ReadLine();
                                if (name == "" || name == null) break;
     
     
                                sw.WriteLine("recu du client" + name);
                            }
                            //s.Close();
                        }
                        catch (Exception e)
                        {
     
                            Console.WriteLine(e.Message);
     
                        }
     
                        Console.WriteLine("Disconnected: {0}",
                                                soc.RemoteEndPoint);
     
                        soc.Close();
                    }
                }
            }
     
     
        }
    }
    voila

  4. #4
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 41
    Par défaut
    j'ai mis le client.connect mais j'ai toujours la même erreur !!!

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A quel endroit tu as cette erreur ? dans le client ou le serveur ? sur quelle ligne de code ?

  6. #6
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 41
    Par défaut
    c'est bon , c'est résolu , dans le programme serveur , j'avais oublié un streamwritter.write();
    thanks anyway

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/12/2014, 15h10
  2. Discussion client serveur, socket TCP
    Par darktimide dans le forum Réseau
    Réponses: 3
    Dernier message: 23/12/2012, 21h18
  3. Détecter déconnexion client _ socket
    Par Yuli dans le forum MFC
    Réponses: 5
    Dernier message: 04/03/2005, 13h02
  4. Réponses: 3
    Dernier message: 21/09/2003, 15h52

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