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 :

probleme lecture/ecriture socket


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut probleme lecture/ecriture socket
    Bonjour,

    J'ai un probleme avec mon server Telnet. Il doit recevoir des données en continue (et les afficher) et envoyer des string au client lors d'un évènement utilisateur. Je n'arrive pas a envoyer des strings au client (qui est une application autonome).

    voila ma classe telnet

    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
    class TelnetServer
    {
      public TelnetServer(int port, System.Windows.Forms.RichTextBox textbox)
      {
        this._port = port;
        this._textBox = textBox;
     
        try
        {
          Socket serverSocket = new Socket(AddressFamily.InterNetwork,   SocketType.Stream, ProtocolType.Tcp);
          serverSocket.Bind(new IPEndPoint(IPAddress.Any, this._port));
          serverSocket.Listen(1);
     
          try
          {
            _soc = serverSocket.Accept();
            _reader = new StreamReader(new NetworkStream(_soc, false));
            _writer = new StreamWriter(new NetworkStream(_soc, true));
          }
          catch(Exception)
          { 
          }
        }
        catch (Exception)
        {
        }
      }
     
      // methode pour l'acquisition des données et l'affichage
      public void DoWork()
      {
        String message;
        try
        {
          do
          {
            message = _reader.ReadLine();
            this._textBox.AppendText(message + "\n");
          }while (message != null);
        }
        catch
        {}
      }
     
      // methode pour l'envoi des string
      public void sendMessage(string msg)
      {
        try
        {
          this._writer.Write(msg);
        }
        catch(Exception e)
        {
        }
      }
     
    }
    et mon design de l'interface graphique

    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
     
     
    partial class UIForm
    {
      private void onoffButton_Click(object sender, System.EventArgs e)
      {
        int port = 2323;
        this._telnetServer = new TelnetServer(port, textBox);
        try
        {
          CheckForIllegalCrossThreadCalls = false;
          Thread telnetThread = new Thread(this._telnetServer.DoWork);
          telnetThread.Start();
          ...
        }
      }
     
      private void sendButton_Click(object sender, System.EventArgs e)
      {
        debugCmd = "ma_commande";
        this._telnetServer.sendMessage(debugCmd);
      }
    }
    le problème:

    la réception des données marche très bien (affichage dans ma box) mais pour l'envoi, je passe bien par la ligne "this._writer.Write(msg);" mais le client ne recoit rien (j'ai verifié) et aucune exception n'est levé

    Est-ce du a la socket qui n'est que en lecture ??? ou autre chose ?

    est-ce que quelqu'un aurait une idée, ou un exemple de serveur (Telnet ou autre) qui lance une lecture en continue et écrive de temps en temps (avec google, je n'ai trouvé que des utilisations soit lecture, soit écriture).

    Merci de votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Ok, pour ceux que ca interesse, il suffisait de faire un flush du writer.

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

Discussions similaires

  1. probleme lecture/ecriture fichier
    Par chouralie dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/06/2008, 08h15
  2. probleme lecture ecriture dans des fichiers
    Par xman_genius dans le forum C
    Réponses: 9
    Dernier message: 16/01/2007, 19h50
  3. [Socket] probleme d'ecriture ?
    Par piff62 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/10/2006, 11h35
  4. [socket] probleme lecture
    Par gorgonite dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 22/09/2006, 21h45
  5. C -> Perl : Lecture ecriture sur des Sockets
    Par caesarvanou dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 05/05/2006, 11h20

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