DUT Informatique Module Système S4 C Département Informatique 2009 / Travaux Dirigés n o 3 : Sockets Stream
|
|
|
- Gauthier Rochette
- il y a 10 ans
- Total affichages :
Transcription
1 iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Dirigés n o 3 : Sockets Stream Objectifs : comprendre les principes et les mécanismes de communication par sockets stream, être capable de réaliser des systèmes client-serveur sur ce mode de communication. 1 Notes de cours Les sockets sont des interfaces de communication bidirectionnelles entre différents processus, qu ils appartiennent à un même système ou non. Dans le cas des sockets stream, cette interface s apparente à un téléphone : les informations sont transmises avec fiabilité en continu après établissement d une connexion. Ce type de communication s utilise entre un serveur (l appelé) et un client (l appelant), les rôles ne sont donc pas symétriques. La principale caractéristique, en comparaison des sockets datagramme, est l utilisation par le serveur d au moins deux sockets : une dite d écoute dédiée à la mise en place de connexions, et une autre dite de service dédiée à l échange d information proprement dit. Le schéma général de communication par sockets stream est le suivant : Serveur (appelé) Client (appelant) Préparation de la connexion secoute = socket(...) sclient = socket(...) Liaison bind(secoute,...) Écoute sur la socket listen(secoute,...) Demande de connexion connect(sclient,...) Acceptation de la connexion sservice = accept(secoute,...) Communication write(sservice,...) write(sclient,...) read(sservice,...) read(sclient,...) Terminaison shutdown(sservice,...) shutdown(sclient,...) Libération des ressources close(sservice) close(sclient) close(secoute) Il y a donc simplement 9 primitives fondamentales pour communiquer avec les sockets stream. Trois d entre elles, socket, bind et close, sont communes à la communication par sockets datagramme (qui est supposée connue). L unique différence est que nous utiliserons le type SOCK_STREAM dans le champ type de la primitive socket.
2 Travaux Dirigés n o 3 Sockets Stream 2/7 1.1 Écoute sur une socket i n t l i s t e n ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de l a s o c k e t d e c o u t e / s t r u c t n b _ p e n d a n t e s / Nombre maximum de c o n n e x i o n s p e n d a n t e s / La primitive listen permet à un processus serveur de déclarer au système d exploitation qu il est prêt à accepter les demandes de connections arrivant à sa socket d écoute (désignée par descripteur). Il peut y avoir des délais entre l arrivée de demandes de connexions et l acceptation de ces connexions (primitive accept, voir section 1.2). Les connections en attente d acceptation sont dites pendantes. Le paramètre nb_pendantes permet de préciser le nombre maximum de telles connexions. Cette primitive retourne 0 en cas de succès ou -1 en cas d échec. 1.2 Acceptation d une connexion i n t a c c e p t ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de l a s o c k e t d e c o u t e / s t r u c t s o c k a d d r a d r e s s e, / P o i n t e u r v e r s a d r e s s e de l a p p e l a n t / i n t l o n g u e u r _ a d r e s s e / P o i n t e u r v e r s l o n g u e u r de l a d r e s s e / / de l a p p e l a n t / La primitive accept permet à un processus serveur d accepter une demande de connexion arrivée sur sa socket d écoute (désignée par le paramètre descripteur), de la part d un client ayant invoqué la primitive connect (voir section 1.3). Au moment de l appel à cette primitive, le champ longueur_adresse pointe sur une donnée indiquant la taille de l espace alloué à l adresse adresse, il faut donc l initialiser (typiquement à sizeof(struct sockaddr)). Au retour de cette fonction, les champs adresse et longueur_adresse permettront de connaître les coordonnées du client dont la demande a été acceptée. Cette primitive retourne le descripteur vers la socket de service dédiée à cette connection, ou -1 en cas d échec. 1.3 Demande de connexion i n t c o n n e c t ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de s o c k e t de l a p p e l a n t / s t r u c t s o c k a d d r a d r e s s e, / P o i n t e u r v e r s a d r e s s e de l a s o c k e t / / de l a p p e l e / i n t l o n g u e u r _ a d r e s s e / Longueur de l a d r e s s e de l a s o c k e t / / de l a p p e l e / La primitive connect permet à un processus client de demander une connection entre sa socket désignée par le paramètre descripteur et la socket (d un serveur) dont l adresse est pointée par adresse et a pour longueur longueur_adresse et. L appel à cette primitive est bloquant : le processus est bloqué jusqu à ce que la communication s établisse (elle renvoie alors 0) ou échoue (elle renvoie alors -1).
3 Travaux Dirigés n o 3 Sockets Stream 3/7 1.4 Réception d information # i n c l u d e < u n i s t d. h> s s i z e _ t r e a d ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de l a s o c k e t / void message, / A d r e s s e de r e c e p t i o n / s i z e _ t l o n g u e u r / Longueur maximum du message / La primitive read est simplement la primitive standard de lecture. Dans le cas d une socket, on lira sur la socket désignée par descripteur au plus longueur caractères contenus dans le tampon de réception de la socket et on les écrira à l adresse message. Cette primitive retourne le nombre de caractères effectivement lus. 1.5 Envoi d information # i n c l u d e < u n i s t d. h> s s i z e _ t w r i t e ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de l a s o c k e t / void message, / A d r e s s e de r e c e p t i o n / s i z e _ t l o n g u e u r / Longueur du message / La primitive write est simplement la primitive standard d écriture. Dans le cas d une socket, on écrira sur la socket désignée par descripteur les longueur caractères se trouvant à l adresse message. Cette primitive retourne le nombre de caractères écrits. 1.6 Terminaison i n t shutdown ( i n t d e s c r i p t e u r, / D e s c r i p t e u r de l a s o c k e t / i n t s e n s / 0: l e c t u r e, 1: e c r i t u r e, 2: l e s deux / La primitive shutdown ferme la connexion établie par la socket désignée par descripteur dans le sens défini par la paramètre sens. Si sens vaut 0, la socket est fermée en lecture, si sens vaut 1, elle sera fermée en écriture, et elle sera enfin fermée dans les deux sens pour 2. 2 Exercices 2.1 Exercice 1 : client/serveur simple Construisez un serveur qui à la réception d un caractère ASCII renvoie le même caractère s il ne s agît pas d une lettre de l alphabet et de la majuscule correspondante dans le cas contraire. Les communications se feront par les sockets SOCK_STREAM et dans le donaine AF_INET. Le serveur ne pourra traiter qu une seule communication à la fois et ne pourra attendre que 5 communications au maximum. Écrivez de même le programme d un client.
4 Travaux Dirigés n o 3 Sockets Stream 4/7 2.2 Exercice 2 : client/serveur évolué On se propose d écrire les codes d un client et d un micro-serveur utilisant les sockets de type SOCK_STREAM dans le domaine AF_INET pour établir les communications avec un nombre quelconque de clients. Le serveur s exécute sur une machine de nom réseau tests.iut-orsay.fr et utilise pour le service qu il rend le port Les clients peuvent s exécuter sur n importe quelle machine du réseau. La structure du serveur est basée sur le multitâche. Un premier processus est lancé pour créer la socket d écoute et faire fonction de superviseur des demandes de connections. Lorsqu une demande se présente, il crée un processus «communication» pour accepter l appel et gérer la communication jusquà sa libération. Le premier processus est prévenu de cette terminaison par le signal SIGCHLD. On limitera le nombre de clients simultanés à 5. Le squelette du serveur est le suivant : Mettre en place un traitant pour le signal SIGCHLD (primitive signal) Créer une socket d écoute (primitive socket) Attacher la socket à une adresse (primitive bind) Attendre des demandes de communications (primitive listen) tant_que vrai faire si demande de connection (primitive accept) Créer un processus communication (c) (c) tant_que pas_fini faire (c) Lecture des requêtes (primitive read) (c) Envoi des réponses (primitive write) (c) Fermeture des flux (primitive shutdown) (c) Destruction de la socket de service (primitive close) Le squelette du client est le suivant : Créer une socket (primitive socket) tant_que non_connecté faire Tenter de se connecter au seveur (primitive connect) tant_que pas_fini faire Envoi des requêtes (primitive read) Lecture des réponses (primitive write) Traitement des réponses Fermeture des flux (primitive shutdown) Destruction de la socket (primitive close) 1. Pourquoi est-il nécessaire de traiter le signal SIGCHLD dans une telle application? 2. Implantez serveur et client. 3 Entraînement : exercice corrigé 3.1 Énoncé : calculateur L objectif de cet exercice est de réaliser un serveur de calcul inspiré des calculatrices HP à notation polonaise inversée (on se limitera au support des 4 opérations de base, +, -,, /). On rappelle que ce type de calculatrice utilise une pile pour effectuer les calculs. Le client se connecte au serveur puis envoie des commandes. Une commande est : soit un nombre ;
5 Travaux Dirigés n o 3 Sockets Stream 5/7 soit un opérateur. Le protocole (pour chaque envoi de commande) est le suivant : 1. le client envoie la commande terminée par un caractère de retour à la ligne ; 2. le serveur traite la commande : nombre : le nombre est empilé, opérateur : les opérandes de l opérateur sont dépilés, puis le résultat de l application de l opérateur à ces opérandes est empilé. 3. le contenu du niveau 1 de la pile est retourné au client. À la fermeture du client, le serveur repasse en mode acceptation de client. On suppose pour l implantation que les opérations de base sur les piles sont disponibles dans une bibliothèque. 3.2 Correction (essayez d abord!!!) L implantation est principalement la simple traduction du schéma des notes de cours à l aide de primitives C. Le client envoie son chiffre ou sa commande et reçoit un message de réponse de la part du serveur tant qu il ne souhaite pas s arrêter (envoi de la commande f). Le serveur fait une boucle infinie autour de l acceptation d une connection et du traitement des messages qu il reçoit. Ainsi lorsqu un client se déconnecte, c est le suivant qui sera servi par le serveur. On supposera que le client prend en argument sur la ligne de commande l adresse IP et le port du serveur. Le serveur prend simplement en argument le port sur lequel il doit être attaché. Des codes possibles sont les suivants, on présente tout d abord le code d un client puis celui du serveur. Les tests d échec des primitives ne sont pas faits, ils sont à rajouter dans tout travail sérieux.
6 Travaux Dirigés n o 3 Sockets Stream 6/7 / CLIENT. Donner l a d r e s s e IP e t l e p o r t du s e r v e u r en arguments, / / par exemple " c l i e n t ", l a n c e r en d e r n i e r. / # i n c l u d e < s t d i o. h> / f i c h i e r s d en t e t e c l a s s i q u e s / # i n c l u d e < s t d l i b. h> # i n c l u d e < s t r i n g. h> # i n c l u d e < s y s / t y p e s. h> / f i c h i e r s d en t e t e " r é s e a u " / # i n c l u d e < n e t i n e t / i n. h> # i n c l u d e < a r p a / i n e t. h> # i n c l u d e < n e t d b. h> # d e f i n e BUFFER_SIZE 1024 / T a i l l e maximum des messages / i n t main ( i n t argc, char argv [ ] ) { i n t s c l i e n t ; / D e s c r i p t e u r de l a s o c k e t c l i e n t / char commande [ BUFFER_SIZE ], / Commande a e n v o y e r / message [ BUFFER_SIZE ] ; / Message recu / s t r u c t s o c k a d d r _ i n s a d d r ; / A d r e s s e du s e r v e u r / / 1. On c r e e l a s o c k e t du c l i e n t. / s c l i e n t = s o c k e t ( AF_INET, SOCK_STREAM, 0 / On p r e p a r e l a d r e s s e du s e r v e u r. / memset ( ( char )& saddr, 0, s i z e o f ( s t r u c t s o c k a d d r _ i n ) s a d d r. s i n _ f a m i l y = AF_INET ; s a d d r. s i n _ p o r t = h t o n s ( a t o i ( argv [ 2 ] ) s a d d r. s i n _ a d d r. s _ a d d r = i n e t _ a d d r ( argv [ 1 ] / On demande une c o n n e c t i o n au s e r v e u r, t a n t qu on y a r r i v e pas. / while ( c o n n e c t ( s c l i e n t, ( s t r u c t s o c k a d d r )& saddr, s i z e o f ( s a d d r ) ) == 1 / 6. On communique. / commande [ 0 ] = i ; while ( commande [ 0 ]!= f ) { p r i n t f ( " E n t r e z un nombre, un o p e r a t e u r (+ ou ) ou f pour s o r t i r. \ n " s c a n f ( " %s ", commande / L e c t u r e commande c l a v i e r / w r i t e ( s c l i e n t, commande, s t r l e n ( commande ) + 1 / Envoi de l a commande / r e a d ( s c l i e n t, message, BUFFER_SIZE / R e c e p t i o n du message / p r i n t f ( " Message r e c u : %s \ n ", message / A f f i c h a g e / / 7 e t 8. On t e r m i n e e t l i b e r e l e s r e s s o u r c e s. / shutdown ( s c l i e n t, 2 c l o s e ( s c l i e n t return 0 ;
7 Travaux Dirigés n o 3 Sockets Stream 7/7 / SERVEUR. Donner l e p o r t d a t t a c h e m e n t du p r o c e s s u s en argument, / / par exemple " s e r v e u r 5000", l a n c e r ce programme en p r e m i e r. / # i n c l u d e < s t d i o. h> / f i c h i e r s d en t e t e c l a s s i q u e s / # i n c l u d e < s t d l i b. h> # i n c l u d e < s y s / t y p e s. h> # i n c l u d e < s t r i n g. h> # i n c l u d e " p i l e. h " / B i b l i o t h e q u e de p i l e / / f i c h i e r s d en t e t e " r e s e a u " / # i n c l u d e < n e t i n e t / i n. h> # i n c l u d e < a r p a / i n e t. h> # i n c l u d e < n e t d b. h> # d e f i n e BUFFER_SIZE 1024 / T a i l l e maximum des messages / i n t main ( i n t argc, char argv [ ] ) { i n t s e c o u t e, / D e s c r i p t e u r s o c k e t d e c o u t e / s s e r v i c e, / D e s c r i p t e u r s o c k e t de s e r v i c e / c a d d r l e n ; / Longueur de l a d r e s s e du c l i e n t / f l o a t r e s u l t a t ; / R e s u l t a t pour l e s c a l c u l s / char message [ BUFFER_SIZE ] ; / Message recu ou a e n v o y e r / s t r u c t s o c k a d d r _ i n saddr, / Mon a d r e s s e s e r v e u r / c a d d r ; / A d r e s s e du c l i e n t / p i l e p ; / La p i l e / / 1. On c r e e l a s o c k e t d e c o u t e. / s e c o u t e = s o c k e t ( AF_INET, SOCK_STREAM, 0 / 2. 1 On p r e p a r e l a d r e s s e du s e r v e u r. / memset ( ( char )& saddr, 0, s i z e o f ( s t r u c t s o c k a d d r _ i n ) s a d d r. s i n _ f a m i l y = AF_INET ; s a d d r. s i n _ a d d r. s _ a d d r = INADDR_ANY; s a d d r. s i n _ p o r t = h t o n s ( a t o i ( argv [ 1 ] ) / On a t t a c h e l a s o c k e t a l a d r e s s e du s e r v e u r. / bind ( s e c o u t e, ( s t r u c t s o c k a d d r )& saddr, s i z e o f ( s a d d r ) / 3. On a t t e n d l e s demandes de c o n n e x i o n. / l i s t e n ( s e c o u t e, 5 while ( 1 ) { / 5. On a c c e p t e une c o n n e x i o n. / c a d d r l e n = s i z e o f ( c a d d r / I n i t i a l i s a t i o n de c a d d r l e n / s s e r v i c e = a c c e p t ( s e c o u t e, ( s t r u c t s o c k a d d r )& caddr,& c a d d r l e n / 6. On communique. / message [ 0 ] = i ; i n i t _ p i l e (&p / On i n i t i a l i s e l a p i l e / while ( message [ 0 ]!= f ) { b z e r o ( message, BUFFER_SIZE / Mise a 0 du message / r e a d ( s s e r v i c e, message, BUFFER_SIZE switch ( message [ 0 ] ) { / T r a i t e m e n t du message ( t r e s b a s i q u e! ) / case + : r e s u l t a t = d e p i l e r (&p )+ d e p i l e r (&p / Cas o p e r a t e u r + / e m p i l e r (&p, r e s u l t a t s p r i n t f ( message, "%f ", r e s u l t a t w r i t e ( s s e r v i c e,& message, s t r l e n ( message ) + 1 break ; case : r e s u l t a t = d e p i l e r (&p) d e p i l e r (&p / Cas o p e r a t e u r / e m p i l e r (&p, r e s u l t a t s p r i n t f ( message, "%f ", r e s u l t a t w r i t e ( s s e r v i c e,& message, s t r l e n ( message ) + 1 break ; case f : break ; / Cas f : f i n / d e f a u l t : e m p i l e r (&p, a t o f ( message ) / Cas nombre / w r i t e ( s s e r v i c e, " Empilement OK", 1 4 / 7 e t 8. T e r m i n a i s o n e t l i b e r a t i o n des r e s s o u r c e s. / shutdown ( s s e r v i c e, 2 c l o s e ( s s e r v i c e c l o s e ( s e c o u t e return 0 ;
DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 5 : Sockets Stream
iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 5 : Sockets Stream Nom(s) : Groupe : Date : Objectifs : manipuler les primitives relatives à la communication par sockets
Programmation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Communication par sockets
Rappel : le réseau vu de l!utilisateur (1) Communication par sockets Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia (demande un service)
Exercice sur les Dockers
Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle
F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau Fonctionnement de l Internet Fonctionnement de l Internet Basé sur une architecture TCP/IP du nom des deux principaux protocoles
Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1
Applications client/serveur TCP/IP - Sockets Rappels C.Crochepeyre Applications CS 1 PLAN Modèle client/serveur Modèle ISO et protocole TCP/IP Comment ça marche? La programmation: les sockets Exemples
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie
Cours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Programmation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Programmation client-serveur sockets - RPC
Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia
3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard [email protected] Environnement Les programmes peuvent être exécutés dans des
MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :
Présentation du modèle OSI(Open Systems Interconnection)
Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Communication sous UNIX les sockets
Communication sous UNIX les sockets Chaput Emmanuel Version 1.04 Résumé Ce but de ce petit document est de décrire la programmation des sockets sous Unix afin d aider le programmeur à développer des applications
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected]
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected] Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
OS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah [email protected] RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Travaux Pratiques Introduction aux réseaux IP
Université de Savoie Initiation aux réseaux IP Travaux Pratiques Introduction aux réseaux IP Sylvain MONTAGNY [email protected] Bâtiment chablais, bureau 13 04 79 75 86 86 TP1 : Analyse la
Le modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
Programmation Internet en Java
Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.
Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10
modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires
STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Compression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Introduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
GESTION DES FICHIERS C/UNIX
Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Simulation d un système de paiement par carte bancaire
Simulation d un système de paiement par carte bancaire Mini projet IN301/IN3ST01-2009-2010 Sujet rédigé par Jean Cousty et Laurent Najman, très librement inspiré d un projet de Jérome Gueydan pour l ENSTA
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.
Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Enseignement secondaire technique
Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:
03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Master 1 ère année. UE Réseaux Avancés I. Corrections décembre 2012. Durée : 2h Documents autorisés
Master 1 ère année UE Réseaux Avancés I Corrections décembre 2012 Durée : 2h Documents autorisés NetFilter & Gestion de congestion (12 points) 1 Le responsable d une petite entreprise vous appelle pour
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Programmation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix ([email protected]) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
LEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
Traduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0
RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture
Le système de gestion des fichiers, les entrées/sorties.
Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19
Dis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? [email protected] LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II.2/ Description des couches 1&2 La couche physique s'occupe de la transmission des bits de façon brute sur un canal de
Network musical jammin
Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
Programmation Classique en langage C
DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric
Gestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier
Cours de C Petits secrets du C & programmation avancée Sébastien Paumier [email protected] Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression
Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:
Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad: Nous allons voir autour d'un exemple concret une facon de modifier les fichiers DBF de l'application. Le but est de modifier
INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Le prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
SSL. Secure Socket Layer. R. Kobylanski [email protected]. janvier 2005 - version 1.1 FC INPG. Protocole SSL Application avec stunnel
SSL Secure Socket Layer R. Kobylanski [email protected] FC INPG janvier 2005 - version 1.1 1 Protocole SSL 2 SSL/TLS Encapsule des protocoles non sécurisés (HTTP IMAP...) dans une couche chiffrée
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Projet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont [email protected] 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER
Internets Informatique de l Internet: le(s) Internet(s) Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III RENATER, R3LR Services Internet Protocoles Web Sécurité Composantes de l internet
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT
Administration Réseau Niveau routage Intérêt du NAT (Network Address Translation) Possibilité d utilisation d adresses privées dans l 4 2 1 Transport Réseau Liaison Physique Protocole de Transport Frontière
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique
Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père
Cours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda [email protected] Février
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall
B.T.S Informatique de Gestion Option Administrateur de Réseaux Locaux d Entreprise Session 2004/2005 EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES Nom et prénom du candidat : TAGLIAFERRI Eric ACTIVITE
Entraînement à l épreuve de QCM 40 mn
Entraînement à l épreuve de QCM 40 mn 1. Le nombre qui suit le nombre 4 en base 5 est : a) 10 b) 5 c) 0 d) A 2. Langages : quelle affirmation est fausse? a) Un programme écrit dans un langage dit "compilé"
Rapport final. Mise en place du réseau d'une entreprise de taille moyenne. Date de rendu : 18/07/2011 Promotion : 4PPA SRS
Date de rendu : 18/07/2011 Promotion : 4PPA SRS Rapport final Mise en place du réseau d'une entreprise de taille moyenne Enseignant : Neveu Mail de l enseignant : [email protected] Auteurs : - Yassine Bourzik
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Installation du client
1 Oracle NET Installation du client Étapes similaires à l installation du serveur. Un client Oracle doit au minimum le composant Oracle Net qui permet d accéder à une base Oracle du réseau. Types d installation:
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Programme des Obligations d épargne du Canada. Guide d utilisation du serveur FTPS. Version 2.4
Programme des Obligations d épargne du Canada Guide d utilisation du serveur FTPS Version 2.4 Le 5 août 2014 Guide d utilisation du serveur FTPS Guide d utilisation du serveur FTPS Historique des mises
Lier Erlang avec d autres langages de programmation
16 Lier Erlang avec d autres langages de programmation Les logiciels actuels, quelle que soit leur taille, sont souvent écrits dans plusieurs langages de programmation. Généralement, les pilotes de périphériques
NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame
www.nicelabel.fr [email protected] NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr
Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:
Administration d un Intranet Rappel: Le routage dans Internet La décision dans IP du routage: - Table de routage: Adresse destination (partie réseau), netmask, adresse routeur voisin Déterminer un plan
Le protocole TCP. Services de TCP
Le protocole TCP TCP (Transmission Control Procedure) est un protocole de transport bout-en-bout (Host-To- Host) Ajoute les fonctions que le réseau ne peut offrir et qui sont demandées par les applications
le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose)
L API socket en résumé le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/58 Propos
Cours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
