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

Web & réseau Delphi Discussion :

Socket:Envoyer du texte d'un serveur vers tout les clients


Sujet :

Web & réseau Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Socket:Envoyer du texte d'un serveur vers tout les clients
    Je cherche à faire un petit jeu multiposte en delphi. J'ai d'une part une appli serveur avec un TSocketServer qui attend les clients et qui dispach les infos d'un client vers les autres !
    De l'autre part j'ai des Clients (avec un SocketClient) qui recoit toutes les infos du serveur et qui les affiche ! Le client doit pouvoir envoyer des info au serveur !


    QUESTIONS :

    - Est il possible d'envoyer du texte du serveur vers tous les clients en une seule fois ?

    - J'ai essayé de mettre un bouton sur la form Server avec comme code :
    ServerSocket1.Socket.SendText(Edit1.text);
    Est ce correcte car à l'éxécution il me fais une erreur lorsque j'essaie d'envoyer le texte .
    WindowsSocket error (10057) on API 'send'

    HELP ???

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Points : 73
    Points
    73
    Par défaut
    QUESTION 1: Non
    QUESTION 2: WindowsSocket error 10057 = Error WSAENOTCONN =
    Socket is not connected. Il faut ouvrir la connexion d'abord

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    ça peut etre possible avec les specifications tcp/ip

    car faut envoyer a l'adresse : 192.168.0.255
    je c plus comment cela s'appelle mais en fait
    suivant ton reseau :
    classe a : x.255.255.255
    classe b : x.x.255.255
    classe c : x.x.x.255

    cela envoie le message sur tout le reseau

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Ok ok mais justement ma connection est ouverte ! Je sais envoyer du texte du server au client mais je ne sais pas pourquoi, dès que je ne suis plus dans un évenement du socket server cela ne marche plus !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    voilà deux extrait de code de mon prog !
    dans le TForm1.ServerSocket1ClientRead, la commande sendtext fonctionnne sans problème mais ds le code du bouton, ca plante !
    Pourquoi ??? je ne ferme pourtant pas le socket entre les 2 opérations !
    Se fermerait il tout seul ???


    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
    Socket: TCustomWinSocket);
    begin
    // read from the client
    lastmessage := Socket.ReceiveText ;
    lbMsg.Items.Add(Socket.RemoteHost + ': ' + lastmessage);
    Socket.SendText('recu' + lastmessage) ;
    end;

    procedure TForm1.BtnSendClick(Sender: TObject);
    begin
    ServerSocket1.Socket.SendText('Test');
    end;

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé !

    c'est pas
    ServerSocket1.Socket.SendText('test');

    mais

    ServerSocket1.Socket.Connections[0].SendText('test');

    0 étant l'index du client connecté auquel on envoi !

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    merci à qui ?!?

    et arrête de jouer...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    ce coup là j'ai trouvé dans un exemple !
    Mais tu m'avais mis sur la voie !!!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2009, 17h42
  2. Client/Serveur : affichage tout les x secondes.
    Par NutellaPiou dans le forum Langage
    Réponses: 6
    Dernier message: 29/01/2009, 12h23
  3. Réponses: 2
    Dernier message: 04/06/2007, 19h01
  4. CSS texte qui se répète sur toutes les pages
    Par drogba-11 dans le forum Mise en page CSS
    Réponses: 24
    Dernier message: 13/05/2007, 22h49
  5. Réponses: 3
    Dernier message: 02/07/2006, 14h17

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