Programmation client/serveur
|
|
- Alain Breton
- il y a 8 ans
- Total affichages :
Transcription
1 Les sockets Programmation client/serveur Le serveur est la machine à l écoute des requêtes des clients auxquelles il doit répondre. Il exécute une boucle infinie qui attend une requête d un client. Il doit pouvoir éventuellement gérer plusieurs clients simultanément. Le client est la machine qui envoie les requêtes au serveur et réceptionne les réponses de ce dernier. Origine des sockets API introduite en 1982 dans la version BSD d Unix Orientation Unix : une socket va se comporter comme un fichier (read et write sont directement utilisables sur des sockets) Cette API n est pas restreinte aux seules communications TCP/IP (socket unix, ) Standard de fait Le terme socket Socket signifie «prise» et symbolise ici la prise téléphonique murale qui est le prérequis pour toute conversation téléphonique. 4 Différents types de sockets Socket passive : socket d un serveur qui est en attente d une connexion d un client. Cette socket n envoie et ne réceptionne aucune donnée car il y n y a aucun correspondant désigné à l autre bout de la ligne. [ téléphone raccroché]. Une file d attente (listen queue) permet de faire «patienter» les connexions le temps que le serveur puisse les prendre en compte [ intermède musical] Socket active : socket qui permet la communication avec un correspondant à l autre bout de la ligne [ téléphone décroché] 5 Différents type de sockets AF_UNIX (Address Family UNIX) Socket unix qui permet des communications locale à une machine AF_INET (Address Family Internet) SOCK_STREAM : protocole TCP SOCK_DGRAM : protocole UDP SOCK_RAW : datagramme IP 6 Serveur TCP en C/C++ Serveur TCP en C/C++ (2) Client TCP en C/C++ Schéma de création d une socket passive Appel de socket() pour spécifier les protocoles à utiliser, créer une structure TCB (presque vide) et obtenir un descripteur de socket [ branchement d une prise murale] Appel de bind() pour fixer l adresse IP et le port sur lequel il faut attendre les connexions. Possibilité d écouter sur toutes les adresses IP (INADDR_ANY) de la machine et de laisser le système choisir un port libre (0) [ attribution d un numéro de téléphone] 7 Schéma de création d une socket passive (suite) Appel de listen() pour fixer la taille de la file d attente des clients [ nombre de coups de fil qui peuvent être mis en attente] Appel de accept() pour attendre l appel d un client (appel bloquant). [ patienter devant le téléphone] Quand un client se connecte, accept() crée une socket active permettant la communication avec le client et renvoie un nouveau descripteur [ décrocher et transmettre la communication à la personne qui va répondre] 8 Schéma de création d une socket active Appel de socket() pour spécifier les protocoles à utiliser et créer une structure TCB (presque vide) et obtenir un descripteur de socket [ branchement d une prise murale] OPTIONNEL : appel de bind() pour fixer l adresse IP et le port à partir duquel on effectue la connexion. [ choisir le numéro de téléphone à partir duquel on appelle] Appel de connect() pour identifier le serveur auquel on veut se connecter (IP+port) [ composer le numéro du serveur] 9
2 Fonctions communes send() ou write() : écriture de données sur une socket recv() ou read() : lecture de données sur une socket getsockopt() : obtenir des informations du TCB (le numéro IP du client par exemple) setsockopt() : modifier certains paramètres du TCB Les déclarations Les includes #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> Des variables int PassiveSocket; struct sockaddr_in ServAddr; Création de la socket PassiveSocket=socket(AF_INET,SOCK_STREAM,0); if (PassiveSocket<0) syslog(log_err,"error socket: %m"); Bind memset(&servaddr,0,sizeof(servaddr)); ServAddr.sin_family=AF_INET; ServAddr.sin_addr.s_addr=htonl(INADDR_ANY); ServAddr.sin_port=htons(serverport); if (bind(passivesocket,(struct sockaddr *)&ServAddr,sizeof(ServAddr))<0) syslog(log_err,"error bind: %m"); 13 Listen if (listen(passivesocket,5)<0) syslog(log_err,"error listen: %m"); exit (1); 14 Accept while (true) struct sockaddr ClientAddr; socklen_t ClientAddrLength; int ActiveSocket; pid_t child; ClientAddrLength=sizeof(ClientAddr); ActiveSocket=accept(PassiveSocket, &ClientAddr,&ClientAddrLength); if (ActiveSocket<0) syslog(log_err,"error accept : %m"); exit (1); 15 if ((child=fork())==0) /* Processus fils */ close(passivesocket); Fork printf("connexion de %s:%d\n",inet_ntoa(((struct sockaddr_in *)&ClientAddr)->sin_addr),ntohs(((struct sockaddr_in *)&ClientAddr)->sin_port)); HandleClient(ActiveSocket); printf("fin de connexion de %s:%d\n",inet_ntoa(((struct sockaddr_in *)&ClientAddr)->sin_addr),ntohs(((struct sockaddr_in *)&ClientAddr)->sin_port)); Fork (2) if (child>0) /* Processus père */ close(activesocket); /* Attendre la connexion suivante */ else perror("fork"); // while close(activesocket); exit(0); else Le client On crée la socket comme précédement, puis : ServAddr.sin_family=AF_INET; ServAddr.sin_port=htons(serverport); struct hostent *ip=gethostbyname(host); memcpy(&servaddr.sin_addr,ip->h_addr,ip- >h_length); if (connect(socket,(struct sockaddr *)&ServAddr,sizeof(ServAddr))<0) syslog(log_err,"error connect: %m"); 18
3 Little and big endians D un processeur à l autre, les entiers stockés sur plusieurs octets ne sont pas forcément représentés de la même manière : Little endian : le premier octet de l entier est le moins significatif (intel 80x86) Big endian : le premier octet de l entier est le plus significatif (MC 680x0, ordre adopté sur le réseau) Il existe d autres conventions (PDP) 19 Échange d entiers Pour échanger des entiers, il faut bien sûr adopter la même représentation. Pour cela, on convertit systématiquement tout entier sur plusieurs octets en utilisant la convention adoptée sur Internet. Entier sur 2 octets (short) htons HOST NETWORK ntohs Entiers sur 4 octets (long) htonl HOST NETWORK Écriture et lecture sur une socket TCP Une socket SOCK_STREAM se comporte comme un fichier UNIX de base identifié par un descripteur s (numéro entier) Pour écrire n octets à partir de l adresse buffer send(s,buffer,n,flags) /* socket SOCK_STREAM uniquement, flags=0 en général */ write(s,buffer,n) /* tous fichiers UNIX */ Pour lire n octets et les placer à partir de l adresse buffer recv(s,buffer,n,flags) /* socket SOCK_STREAM uniquement, flags=0 en général */ read(s,buffer,n) /* tous fichiers UNIX */ Les appels renvoient le nombre d octets écrits ou lus. ntohl Exemple d écriture en C (sans tampon) Écriture d un entier en ascii : char buffer[max]; snprintf(buffer,max,"%d\n",i); write(s,buffer,strlen(buffer)); Écriture d un entier en binaire : long int l,tmp; tmp=htonl(l); write(s,&tmp,sizeof(tmp)); 22 Exemple de lecture en C (sans tampon) Lecture d un entier en ascii : char buffer[max]; read(s,buffer,max); /* il faut gérer les cas où on lit trop ou pas assez d octets */ sscanf(buffer,"%d",&i); Lecture d un entier en binaire : long int l,tmp; read(s,&tmp,sizeof(tmp)); /* il faut gérer les cas où on lit trop peu d octets ou utiliser recv(s, &tmp, sizeof(tmp), MSG_WAITALL) */ l=ntohl(tmp); 23 Lecture/écriture avec tampon en C On peut créer un fichier du type FILE * à partir d une socket par FILE *f=fdopen(s,mode) avec mode= "w" ou "r" On peut ensuite directement utiliser fprintf(f, "%d\n",i) fscanf(f,"%d",&i) fwrite(buffer,n,1,f) fread(buffer,n,1,f) fflush(f) et autres fonctions sur les FILE * 24 En C++, Client/Serveur TCP en Java Serveur TCP en Java Il est possible d utiliser des classes héritant de streambuf pour se servir des opérateurs << (écriture) et >> (lecture) Exemple : classe «maison» socketbuf ActiveSocket=accept( ) socketbuf IObuf(ActiveSocket); iostream f(&iobuf); f << "Ligne "<< i << endl; Le langage Java inclut en standard les classes permettant de réaliser une connexion TCP import java.net.*; On utilise les classes ServerSocket pour le serveur TCP Socket pour le client TCP ServerSocket passivesocket=new ServerSocket(port); cette classe encapsule les appels socket,bind et listen de C. Il existe diverses versions du constructeur pour spécifier les paramètres de bind et listen Socket activesocket=s.accept(); équivalent du accept de C activesocket.getinputstream() et activesocket.getoutputstream() renvoient les flux pour lire/écrire sur la socket La méthode close() permet de fermer les sockets
4 Utilisation des threads Pour créer un processus léger pour gérer chaque connexion : while (true) Socket activesocket=s.accept(); Thread t=new MyThread(activeSocket); t.start(); La classe MyThread doit hériter de la classe Thread et redéfinir la méthode run() pour qu elle effectue le travail souhaité. Le constructeur de MyThread doit prendre en charge les paramètres. Gestion des flux Obtention de flux de type texte BufferedReader in= new BufferedReader( new InputStreamReader( activesocket.getinputstream())) String line=in.readline(); PrintWriter out= new PrintWriter( activesocket.getoutputstream()) out.println("message "); Client TCP en Java Socket activesocket=new Socket(host,port); encapsule les appels socket et connect de C Ne pas oublier de fermer les sockets Divers points en Java Il faut bien sûr prendre soin de gérer les diverses exceptions qui peuvent survenir La classe InetAddress permet si nécessaire de convertir un nom de machine en adresse IP ou inversement Voir la documentation Java pour plus d informations 31 Client/Serveur UDP Rappel sur les communications UDP Il n y a pas de connexion Il n y a pas de flux d octets, mais des envois de messages distincts (paquets d octets). Le programmeur doit constituer lui même ces paquets et les envoyer Le protocole UDP ne garantit Ni la bonne réception des messages Ni leur réception dans l ordre Le programmeur doit donc prendre ses précautions Il n y a plus de distinction entre socket active et passive Client et serveur ont des structures similaires : ils effectuent uniquement des envois et réception de messages 32 Client/Serveur UDP en C/C++ int Socket; struct sockaddr_in LocalAddr; Socket=socket(AF_INET,SOCK_DGRAM,0); memset(&localaddr,0,sizeof(localaddr)); LocalAddr.sin_family=AF_INET; LocalAddr.sin_addr.s_addr=htonl(INADDR_ANY); LocalAddr.sin_port=htons(localport); if (bind(socket,(sockaddr *)&LocalAddr, sizeof(localaddr))<0) 33 Envoi d un message UDP en C/C++ On utilise la primitive sendto(socket,buffer,n,flags, pdestination,destinationlength) pour envoyer n octets à partir de l adresse buffer à l adresse spécifiée dans *pdestination (type struct sockaddr *) avec DestinationLength étant la taille de la structure passée. En général, flags vaut 0 La taille du message doit être suffisamment petite pour passer sur le réseau. 34 Réception d un message UDP en C/C++ On utilise la primitive recvfrom(socket,buffer,n,flags, pemetteur,pemetteurlength) pour réceptionner au plus n octets qui seront stockés à partir de l adresse buffer. L adresse de l expéditeur est placée dans *pemetteur (type struct sockaddr *) et la longueur de cette structure dans *pemetteurlength En général, flags vaut 0 35 Exemple d émission spontanée struct sockaddr_in DestAddr; memset(&destaddr,0,sizeof(destaddr)); DestAddr.sin_family=AF_INET; DestAddr.sin_port=htons(destinationport); struct hostent *ip=gethostbyname(hostname); memcpy(&destaddr.sin_addr,ip->h_addr,ip->h_length); len=sendto(socket,buffer,n,0, (struct sockaddr *)&DestAddr,sizeof(DestAddr)); 36
5 Exemple de réception struct sockaddr_in RemoteAddr; socklen_t RemoteAddrLength; RemoteAddrLength=sizeof(RemoteAddr); len=recvfrom(socket,buffer,sizeof(buffer),0, (struct sockaddr *)&RemoteAddr,&RemoteAddrLength); printf("message depuis %s:%d : ", inet_ntoa(((struct sockaddr_in *) &RemoteAddr)->sin_addr), ntohs(((struct sockaddr_in *) &RemoteAddr)->sin_port)); 37 Exemple de réponse struct sockaddr_in RemoteAddr; socklen_t RemoteAddrLength; RemoteAddrLength=sizeof(RemoteAddr); len=recvfrom(socket,buffer,sizeof(buffer),0, (struct sockaddr *)&RemoteAddr,&RemoteAddrLength); len=sendto(socket,buffer,n,0, (struct sockaddr *)&RemoteAddr,RemoteAddrLength); Il ne faut pas oublier de fermer les sockets à la fin 38 Client/Serveur UDP en Java DatagramSocket s=new DatagramSocket(port) crée une socket en mode SOCK_DGRAM byte buffer[]=new byte[size]; DatagramPacket p= new DatagramPacket(buffer,buffer.length); Cette classe contient L adresse et le port du destinataire ou de l émetteur du datagramme Les données transmises par le datagramme Voir la doc. Java pour le détail des constructeurs et des méthodes s.receive(p) et s.send(p) pour recevoir/émettre un datagramme 39
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
Plus en détailCommunication 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
Plus en détailProgrammation 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.
Plus en détail1. 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
Plus en détailCommunication 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)
Plus en détailLe modèle client-serveur
Le modèle client-serveur Introduction Christian Bulfone christian.bulfone@gipsa-lab.fr www.gipsa-lab.fr/~christian.bulfone/ic2a-dciss Master IC2A/DCISS Année 2012/2013 Encapsulation : rappel Données Données
Plus en détailProgrammation 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
Plus en détailLA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau
M1 Informatique Réseaux Cours 6 Couche Transport : TCP et UDP Notes de Cours LA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau dans le but d offrir des garanties de service
Plus en détailTravaux Pratiques Introduction aux réseaux IP
Université de Savoie Initiation aux réseaux IP Travaux Pratiques Introduction aux réseaux IP Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 TP1 : Analyse la
Plus en détailPour 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
Plus en détaille 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
Plus en détailCours 6 : Programmation répartie
Cours 6 - PC2R - M2 STL - UPMC - 2008/2009 p. 1/49 Cours 6 : Programmation répartie modèle à mémoire répartie Interneteries Client/serveur Exemples en O Caml Classe Java clients/serveur multi-langages
Plus en détailDé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
Plus en détailProgrammation Réseau. Anthony Busson IUT Info Lyon 1
Programmation Réseau Anthony Busson IUT Info Lyon 1 Plan du cours Introduction Rôles du système et des applications Rappel TCP-IP Panorama des langages Couche socket : introduction Panorama de la couche
Plus en détailProgrammation Réseau. ! UFR Informatique ! 2013-2014. Jean-Baptiste.Yunes@univ-paris-diderot.fr
Programmation Réseau Jean-Baptiste.Yunes@univ-paris-diderot.fr! UFR Informatique! 2013-2014 1 Programmation Réseau Introduction Ce cours n est pas un cours de réseau on y détaillera pas de protocoles de
Plus en détailSTS 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,
Plus en détailCommunication 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
Plus en détailExercice 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
Plus en détailProgrammation 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
Plus en détailCours 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 m.daoudi@fso.ump.ma Février
Plus en détailDUT 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
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailNetwork 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
Plus en détailCahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
Plus en détailGestion 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
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailFonctionnement Kiwi Syslog + WhatsUP Gold
Fonctionnement Kiwi Syslog + WhatsUP Gold Configuration Kiwi Syslog server Pour configurer Kiwi Syslog server, commencez par cliquer sur l icône setup de la barre des taches : La fenêtre de configuration
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailProcessus! 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
Plus en détailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailPlan 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
Plus en détailPlan. Programmation Internet Cours 3. Organismes de standardisation
Plan Programmation Internet Cours 3 Kim Nguy ên http://www.lri.fr/~kn 1. Système d exploitation 2. Réseau et Internet 2.1 Principes des réseaux 2.2 TCP/IP 2.3 Adresses, routage, DNS 30 septembre 2013 1
Plus en détailProgrammation Réseau en C sous Unix
Chapitre 1 : Notions de base I. Structure d adresse : En programmation réseau, nous allons utiliser les sockets. C est un moyen de communication qui se définit par un port et une adresse. Elle est représentée
Plus en détailCouche application. La couche application est la plus élevée du modèle de référence.
Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application
Plus en détailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) 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
Plus en détailARDUINO 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
Plus en détailCours 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
Plus en détailEPREUVE 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
Plus en détailInternets. 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
Plus en détail03/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
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailDynamic Host Configuration Protocol
Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives
Plus en détailProtocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).
Chapitre 5 Protocoles réseaux Durée : 4 Heures Type : Théorique I. Rappel 1. Le bit Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1). 2. L'octet C'est un ensemble de 8 bits.
Plus en détail18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailAdministration des ressources informatiques
1 2 La mise en réseau consiste à relier plusieurs ordinateurs en vue de partager des ressources logicielles, des ressources matérielles ou des données. Selon le nombre de systèmes interconnectés et les
Plus en détailL3 informatique Réseaux : Configuration d une interface réseau
L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailEPREUVE 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
Plus en détailSkype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
Plus en détailInfo0101 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
Plus en détailLe 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
Plus en détailUtilisation 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
Plus en détailM1 MIAGE - Réseau TP1
M1 MIAGE - Réseau TP1 Consignes Les TPs ont lieu par groupe de 2 ou 3. Le groupe sera le même pour le projet. Le niveau des personnes dans le groupe doit être sensiblement le même! Pour chaque TP, vous
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détailCours 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
Plus en détailIntroduction. Adresses
Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom
Plus en détailPlan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014
École Supérieure d Économie Électronique Chap 9: Composants et systèmes de sécurité 1 Rhouma Rhouma 21 Juillet 2014 2 tagging et port trunk Création des via les commandes sur switch cisco 1 / 48 2 / 48
Plus en détailL3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Plus en détailDNS 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
Plus en détailPrésentation Internet
Présentation Internet 09/01/2003 1 Sommaire sières 1. Qu est-ce que l Internet?... 3 2. Accéder à l Internet... 3 2.1. La station... 3 2.2. La connection... 3 2.3. Identification de la station sur Internet...
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailII/ 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
Plus en détailProgrammation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
Plus en détailTD3: 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
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailIntroduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -
Plus en détailLier 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
Plus en détail1/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
Plus en détailCours 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/
Plus en détailDHCP. Dynamic Host Configuration Protocol
DHCP Dynamic Host Configuration Protocol DHCP : Dynamic Host Configuration Protocol Permet la configuration des paramètres IP d une machine: adresse IP masque de sous-réseau l adresse de la passerelle
Plus en détail2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement
Plus en détailLe 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
Plus en détailHaka : un langage orienté réseaux et sécurité
Haka : un langage orienté réseaux et sécurité Kevin Denis, Paul Fariello, Pierre Sylvain Desse et Mehdi Talbi kdenis@arkoon.net pfariello@arkoon.net psdesse@arkoon.net mtalbi@arkoon.net Arkoon Network
Plus en détail1. 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
Plus en détailRéseaux - Cours 3. BOOTP et DHCP : Amorçage et configuration automatique. Cyril Pain-Barre. IUT Informatique Aix-en-Provence
Réseaux - Cours BOOTP et DHCP : Amorçage et configuration automatique Cyril Pain-Barre IUT Informatique Aix-en-Provence Semestre 2 - version du 2/4/2 /67 Cyril Pain-Barre BOOTP et DHCP /7 Introduction
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailCours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Plus en détailGESTION 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
Plus en détailPush API Technical Specifications V1.0
Push API Technical Specifications V1.0 Page 1 1 PROTOCOLE SMPP...... 3 1.1 Commandes supportées......... 3 1.2 Paramètres optionnels supportés... 3 1.3 Connexion et authentification... 4 1.3.1 Requête
Plus en détailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailAnnée Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique
Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique UE : INF157 Épreuve : Examen Utilisation des réseaux Date : 13 décembre 2010 Heure : 8h30 Durée : 1h30 Modalités
Plus en détailDHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013
DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version
Plus en détailCours 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.
Plus en détailInstallation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailCours 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
Plus en détailPartie 1 : Architecture et communications Client/Serveur
Partie 1 : Architecture et communications Client/Serveur Olivier GLÜCK Université LYON 1/Département Informatique Olivier.Gluck@univ-lyon1.fr http://perso.univ-lyon1.fr/olivier.gluck Copyright Copyright
Plus en détailJava et les bases de données
Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples
Plus en détailUDP/TCP - Protocoles transport
UDP/TCP - Protocoles transport ISEN/ITII- UDP/TCP 1 Plan UDP : LE PROTOCOLE TRANSPORT DATAGRAM Concept de ports Format du datagramme TCP : LE PROTOCOLE DE TRANSPORT FIABLE Connexion Segmentation Fenêtrage
Plus en détailOS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Plus en détailJava 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
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr 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
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détail