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 :

Besoin d'idées sur appli serveur/clients avec sockets


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Besoin d'idées sur appli serveur/clients avec sockets
    bonjours tous le monde, je dois developper une aplication clients/serveur...avec les composants sockets....
    Idée générale:
    sur l'aplication serveur je dois afficher les clients connecté sur le réseau....environ 8 post avec des Ip fix! les postes clients ne doivent pas changer je veus dire que le poste ayant l'IP 192.168.1.1 par exemple dois tjrs figurer comme etant le poste N°1 et c la meme chose pour la suite des postes......ya aussi autre chose d'important que je n'arrive pas a résoudre.....c'est que je dois envoyer des text au postes clients de puis le serveur et chaque text dois etre destiné a un seul poste donnée et pas aux autres!!!
    Help me

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 584
    Points : 25 251
    Points
    25 251
    Par défaut
    Quelle Version de Delphi ?
    Quel Composant TCP\IP Socket ? TServerSocket ? TTCPServer ? Indy ? ICS ?

    Si IP Fixe, stockage dans une table des IP et de leur numéro
    Exemple Ini

    [CLIENTS]
    1=192.168.1.1
    2=192.168.1.48
    3=192.168.1.51
    4=192.168.1.2
    5=192.168.1.3

    Ensuite, en fonction de la Lib, tu as des objets sockets dans une collection, le serveur a autant de client dans sa connexion qu'il y a poste connecté !

    J'avais pourtant déjà répondu en 2007 : Utilisation des Tsocket en parcourant TServerSocket.Socket.Connections[i] en utilisant le Handle (ou RemoteAddress\RemoteHost) pour mémoriser qui envoie et donc qui doit recevoir sa réponse !

    j'ai fait exactement la même manip pour mon 1er projet Socket en Delphi, c'est vraiment très simple avec le TServerSocket !

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    Oups, j'ai oublié de mentionner la version du delphi que j'utilise et les composant....
    Delphi6 et pour les composants c'est les tserversocketet tclient socket.

    pour la partie du stockage des Ip c claire, mais Svp pouvez me dire comment envoyer un texte a un tclientsocket qui a une Ip donnée (192.168.1.1) par exemple uniquement sans que les autres tclientsocket ne reçoivent le txt...
    Merci d'avence

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 451
    Points
    28 451
    Par défaut
    Citation Envoyé par lou_delphdev Voir le message
    Oups, j'ai oublié de mentionner la version du delphi que j'utilise et les composant....
    Delphi6 et pour les composants c'est les tserversocketet tclient socket.

    pour la partie du stockage des Ip c claire, mais Svp pouvez me dire comment envoyer un texte a un tclientsocket qui a une Ip donnée (192.168.1.1) par exemple uniquement sans que les autres tclientsocket ne reçoivent le txt...
    Merci d'avence
    lors de l'Accept tu récupères l'@IP du client, donc tu sais qui c'est.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    oui, mais c'est dans le sens contraire que je bloque!!! peut etre que je me suis mal exprimer..

    j'ai 8 aplications client sur le quelles j'ai mis un tclientsocket et une apli serveur ou il y a un tserversocket
    exemple:
    ip serveur : 192.168.1.1
    ip client 1 : 192.168.1.2
    ip client 2 : 192.168.1.3
    ip client 3 : 192.168.1.4
    ip client 4 : 192.168.1.5
    ip client 5 : 192.168.1.6
    ip client 6 : 192.168.1.7
    ip client 7 : 192.168.1.8
    ip client 8 : 192.168.1.9

    NB: les IP des postes client restent fixe...

    pour reconaitre les postes clients sur l'apli serveur c'est claire, je stocke les Ip sur une table ou fichier ini puis a chaque connexion je compareet Op je reconaisquel posteest connecté!!!

    ce que je veus réaliser, est d'envoyer des textes aux clients, mais pas tous au meme temps.

    par exemple, j'envoe "Bonjour" uniquement au poste 1 qui a comme IP: 192.168.1.2 mais s'a ne s'affiche que chez le Poste 1.
    comme j'envoie "Salut" au poste 2 qui a comme IP :192.168.1.3 et sa ne s'affiche qu'au poste 2........aini de suite!

    Normalement c'est claire!
    Help me!!!

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 584
    Points : 25 251
    Points
    25 251
    Par défaut


    J'ai très bien compris, tu veux choisir le destinataire !
    Tu pourrais lire nos réponses, utiliser l'aide F1 sur les mots que tu ne connais pas ?
    Je t'ai répondu la même chose il y a plus de trois ans, tu n'as toujours pas cherché à comprendre, c'est lassant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for i := 0 to ServerSocket.Socket.ActiveConnections - 1 do
    begin
      if ServerSocket.Socket.Connections[i].RemoteAddress = GetClientIPByNumero(ClientNumero) then
      begin
        ServerSocket.Socket.Connections[i].SendText(...);
        break;
      end;
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function GetClientIPByNumero(AClientNumero: Integer): string;
    begin
      // IniFile Create et Free si tu n'utilises pas une globale (singleton)
      IniFile.ReadString('CLIENTS', IntToStr(AClientNumero), '');
    end;
    [CLIENTS] est la section décrit plus haut

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    Merci....

Discussions similaires

  1. Serveur/Clients avec sockets
    Par Khan34 dans le forum C++
    Réponses: 5
    Dernier message: 13/12/2012, 11h52
  2. Problème communication serveur/client avec Socket
    Par Nicolas74 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 03/12/2009, 16h54
  3. Réponses: 2
    Dernier message: 22/10/2009, 18h44
  4. Réponses: 4
    Dernier message: 15/09/2005, 13h27
  5. Appeler un programme sur le poste client avec <object>
    Par ouioui2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/08/2005, 14h40

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