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

Réseau Discussion :

socket client serveur


Sujet :

Réseau

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut socket client serveur
    bonjour
    quelqu'un pourait m'aider à resoudre ce probleme en programmtion ,car je connais pas bien le c. je vous remercie d'avnce
    Enoncé du projet
    On considère une application client-serveur pour laquelle les processus clients et les processus serveurs s’exécutent sur des machines différentes.
    L’application serveur est une application de type serveur bancaire.
    1/ Les clients
    Des processus clients émettent deux types de requêtes à destination du serveur bancaire:
    - la requête de consultation permet à un client identifié par son nom, son prénom et un mot de passe, de consulter le solde du compte dont il précise l’identifiant A.
    - la requête de virement permet à un client identifié par son nom, son prénom et un mot de passe, de virer une somme depuis un compte A vers un autre compte B, A et B étant les deux identifiants des comptes.
    2/ Le serveur
    Le serveur bancaire est composé de deux services et d’un traitement périodique. Il gère les comptes des clients dans une table placée en mémoire centrale. Il est accessible 24 heures sur 24.
    Les services
    Le service Consultation prend en compte les requêtes de consultation. Pour chacune d’elle, il vérifie à l’aide du nom, du prénom et du mot de passe, que le client peut bien accéder au compte dont l’identifiant A est fourni dans la requête. Si tel est le cas, il renvoie au client, le solde du compte. Sinon, il renvoie un message d’erreur.
    Le service Virement prend en compte les requêtes de virement. Pour chacune d’elle, il vérifie à l’aide du nom, du prénom et du mot de passe, que le client peut bien accéder aux deux comptes dont les identifiants A et B sont fournis. Si tel est le cas, il effectue le virement demandé et renvoie au client, les nouveaux soldes des comptes A et B. Si le client n’a pas accès à l’un des deux comptes ou aux deux comptes, le serveur renvoie un message d’erreur. Si le virement rend le solde du compte débité négatif, le serveur n’effectue pas le virement et renvoie un message d’erreur.
    Le traitement périodique
    Toutes les nuits, à minuit, un traitement périodique est déclenché. Ce traitement lit depuis une file de messages, un ensemble de requêtes déposées depuis sa dernière exécution, par différents organismes financiers. Chaque requête spécifie un nom, un prénom, un numéro de compte et une somme à créditer ou à débiter sur le montant du compte.
    Le traitement lit chaque requête et exécute l’opération qu’elle contient.
    La table des comptes
    Les informations concernant les comptes des clients sont stockées dans une table en mémoire centrale. Cette table est chargée au moment du démarrage du serveur.
    Une entrée de la table contient les informations suivantes : identifiant du compte, nom, prénom et mot de passe du détenteur du compte, solde du compte.
    Chaque compte a un identifiant différent. C’est une chaîne de caractères composée d’une lettre, 5 chiffres et une lettre.
    Chaque client a un mot de passe différent. Un mot de passe est une chaîne de caractères composée de un chiffre, 3 lettres et un chiffre.
    1/ Proposez une architecture logicielle pour la partie serveur. Vous spécifierez notamment le nombre de ports de communication utilisés pour la communication, le type de protocole de communication choisi avec les clients, l’utilisation de processus lourd ou de processus légers. Vous argumenterez vos choix.
    2/ Donnez un pseudo code détaillé, faisant apparaî tre les primitives de communication et appels système Linux, pour
    - un processus client ;
    - le processus serveur comprenant le service Consultation, le service Virement et le traitement périodique.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    1/ Proposez une architecture logicielle pour la partie serveur. Vous spécifierez notamment le nombre de ports de communication utilisés pour la communication, le type de protocole de communication choisi avec les clients, l’utilisation de processus lourd ou de processus légers. Vous argumenterez vos choix.
    2/ Donnez un pseudo code détaillé, faisant apparaî tre les primitives de communication et appels système Linux, pour
    - un processus client ;
    - le processus serveur comprenant le service Consultation, le service Virement et le traitement périodique.
    ou est il demandé du C ? juste du pseudo code .

    il est a rendre pour quand l'exercice ?
    qu'as tu deja fait ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut soket
    bonjour
    en fait je suis bloque sur l'architecture logicielle pour la partie serveur
    je sai que il faut utiliser tcp pour la connnexion. merci
    Citation Envoyé par MarcG
    ou est il demandé du C ? juste du pseudo code .

    il est a rendre pour quand l'exercice ?
    qu'as tu deja fait ?

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    si tu es bloqué sur la partie serveur et quie tu sais qu'il faut utiliser TCP, je pense que tu es bloqué un peut partout .


    Alors plusieuyrs choix se propose a un peut tout les stade .

    Principe d'un serveur :

    ouverture d'une socket en ecoute sur un port X (TCP plutot que UDP car TCP "garantie" l'integrité de l'information)
    lorsqu'un client effectue une demande de connection :

    - Authentification du client
    - puis soit
    - lancement d'une thread (processus leger) avec "report" de la connection client
    ou lancement d'un process (fork ou exec.. , process lourd) avec report de la connection
    - ce "report permet a la socket d'ecoute d'etre liberé de sute et d'attendre une autre connection.

    cela c'est un principe "de base", on peut apres celon le choix d'architecture :

    - soit avoir autant de port que de type de client (consultation, virement, ....), peut obtimisé mais plus simple
    - soit 1 seul port pour tout type de client, mais un "message tcp" comportant le type de demande (beaucup plus obtimisé mais nécéssite le developpement d'un protocole au niveau du contenue du message TCP (ENTETE avec type de demande, action, ......) cette implementation peut necessité d'être mise au niveau de la premiere connection, avant les fork ou thread afin de choisir le processus ou thread destinataire de la demande .


    voila, ceci est juste un shema tres global.

Discussions similaires

  1. sockets client serveur
    Par Taoufik109 dans le forum Développement
    Réponses: 2
    Dernier message: 03/01/2008, 18h03
  2. Socket client serveur
    Par ppphil dans le forum C#
    Réponses: 1
    Dernier message: 08/09/2007, 10h57
  3. [C] Probleme avec socket client-serveur TCP
    Par LinuxUser dans le forum Réseau
    Réponses: 33
    Dernier message: 15/05/2007, 22h26
  4. [socket] client/serveur multi-thred
    Par iag_1980 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 03/03/2007, 15h38
  5. Socket client serveur
    Par rhdjml dans le forum Langage
    Réponses: 2
    Dernier message: 08/03/2006, 12h09

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