RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Comment servir plusieur clients simultan

Forum : ADA
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ ADA

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM ADA

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
jovalise
Nouveau membre
Inscrit : 21/12/2005
Messages : 21
Message
#119252
Posté le 27/12/06 à 20:30
Bonjour,

Je cherche à savoir comment servir plusieurs clients simultanément.

je suis en train d'ecrire un petit programme pour faire ses comptes puis les envoyer à un serveur qui renvoi la moyenne des dépenses par rubrique des clients.

Mon souci est donc en utilisant Adasockets ou Gnat.Sockets, d'accepter plusieurs connections simultanément.

Je vous donne mes codes en cours si ça marche ...
Fmi-client-0.0.3-beta.tgz
Fmi-server-0.0.3-alpha.tgz

un serveur est en marche sur "denimes.net" pour vous amusez ... euh si vous voulez tester plutot !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

jovalise
Nouveau membre
Inscrit : 21/12/2005
Messages : 21
Message
#119313
Posté le 28/12/06 à 17:14
Bonjour,
j'ai trouvé un exemple de serveur multi-clients qui utilise les selectors de Gnat.Sockets
je vai me lancer sur cette solution.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

jovalise
Nouveau membre
Inscrit : 21/12/2005
Messages : 21
Message
#119426
Posté le 29/12/06 à 18:46
Donc, le code suivant, un exemple sur l'utilisation des selectors de Gnat.Sockets, m'a permis de passer d'un serveur uni-client a un serveur multi-clients


with GNAT.Sockets; use GNAT.Sockets; with Text_Io; use Text_Io; procedure Network is Liste : array(1..10) of Socket_Type; Bliste : array(1..10) of Boolean; Reads,Write : Socket_Set_Type; Selector : Selector_Type; Srv_Adr,Adr : Sock_Addr_Type; Srv_Socket : Socket_Type; Status : Selector_Status; package Intio is new Text_Io.Integer_Io(Integer); Ptr : Integer := 0; C : Character; begin -- Initialisation de GNAT.Sockets Initialize; -- Creation de la socket serveur Srv_Adr.Addr := Any_Inet_Addr; Srv_Adr.Port := 3128; Create_Socket(Srv_Socket); Bind_Socket(Srv_Socket,Srv_Adr); Listen_Socket(Srv_Socket); -- Creation Create_Selector(Selector); Set(Write,Srv_Socket); for I in 1..10 loop Bliste(I) := False; end loop; loop --Creation des sets Empty(Reads); Set(Reads,Srv_Socket); for I in 1..10 loop if Bliste(I) then Set(Reads,Liste(I)); end if; end loop; Check_Selector(Selector,Reads,Write,Status); case Status is when Completed => if Is_Set(Reads,Srv_Socket) then Ptr := Ptr + 1; Put_Line("Connexion : "&Integer'Image(Ptr)); Accept_Socket(Srv_Socket,Liste(Ptr),Adr); Bliste(Ptr) := True; else for I in 1..10 loop if Bliste(I) then if Is_Set(Reads,Liste(I)) then Character'Read(Stream(Liste(I)),C); Put_line("socket "&Integer'Image(I)&Character'Image(C)); end if; end if; end loop; end if; when Expired => Put_Line("expired"); when Aborted => Put_Line("aborted"); end case; end loop; -- Destruction du selector Close_Selector(Selector); -- Finalisation pour le package GNAT.Sockets Finalize; exception when SOCKET_ERROR => Put_Line("SOCKET_ERROR"); end Network;

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM ADA



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.