Programmation réseau

Informations générales

Dans cette unité d’enseignement nous nous emploierons à passer en revue les principales constructions nécessaires à la communication entre applications à travers le réseau. Il ne s’agit pas d’un cours de réseau, mais d’un cours de programmation réseau, c’est-à-dire un cours orientée communication. Donc la couche réseau la plus importante ici est la couche application, et par conséquent le contenu des messages et l’ordonnancement de ceux-ci plus que les techniques d’acheminement de ces messages.

Ce cours intitulé « programmation réseau » est à destination d’étudiants en Licence troisième année d’informatique de l’Université Paris Diderot. Le suivre suppose la maîtrise des langages Java et C (donc de la programmation objet).

Sont fournis ici, différents supports pédagogiques : coursvidéoscodes sourcestravaux pratiques et examens.

Une chaîne Youtube est associée à mes enseignements filmés dont celui-ci, programmation réseau, que vous pouvez consulter en vous reportant en bas de page

Le cours

Les supports en PDF

  • 00 – Informations, quelques informations générales sur le cours
  • 01 – Introduction, généralités sur le réseau et les outils Unix d’exploration
  • 02 – API Java TCP, les classes et méthodes Java utiles pour communiquer à travers des flux TCP sur le réseau
  • 03 – La concurrence en Java, l’exécution concurrente en Java, processus et threads, problèmes et solutions
  • 04 – API Java UDP, les classes et méthodes Java utiles pour communiquer en mode paquet sur le réseau.
  • 05 – Sérialisation, les techniques de sérialisation en Java, sérialisation interne et sérialisation externe, XML, etc.
  • 06 – API C TCP, l’interface de programmation réseau en C (adresses Internet, adresses de sockets, résolution de nom, socket, TCP)
  • 07 – API C UDP, les socket de type SOCK_DGRAM
  • 08 – Diffusion, la diffusion intégrale (broadcast) et la multidiffusion (multicast)
  • 09 – E/S non-bloquantes en Java aka java.nio.channels
  • 10 – E/S non-bloquantes en C aka selectpoll
  • 11 – Codage en direct d’un serveur HTTP élémentaire
  • 12 – RMI, Activation et Sécurité
  • 13 – RPC/XDR

Quelques supports annexes qui ont pu être projetés à l’occasion et pas toujours complets :

Des codes sources conçus en cours

2014

2013

Travaux Pratiques

2007 (archives mal classées/indexées)

2016

Projets

  • 2012 : un système de diffusion de nouvelles
  • 2013 : un arbre à palabres
  • 2014 : un prototype de Skype

Examens

Supports vidéos