La programmation de réseau informatique décrit le processus de création de programmes capables d’utiliser la communication réseau pour fonctionner. Les programmes créés à l’aide de cette méthode – essentiellement tout programme qui nécessite d’autres programmes en réseau pour fonctionner – sont appelés un système distribué. Ces programmes se répartissent essentiellement en trois catégories : connectés, non connectés ou peer-to-peer. Ces catégories décrivent, en termes généraux, la façon dont le programme utilise la connexion réseau et la relation qu’il entretient avec les programmes à l’autre bout.
Lorsqu’on parle de programmation de réseaux informatiques, le terme « réseau » est très large. Il couvre tout, des intranets locaux, où une seule personne partage l’accès entre les systèmes connectés, et l’accès Internet complet, où les systèmes peuvent être distants de milliers de kilomètres. Quels que soient l’objectif, l’emplacement ou la distance entre les programmes, ils ont tous besoin de plusieurs éléments à différents endroits pour fonctionner correctement.
Le terme courant utilisé pour décrire ces programmes est « système distribué ». Cela signifie essentiellement que les différentes parties du programme ont été distribuées à plusieurs endroits. Le programme agit comme un système unique, mais il nécessite que le réseau permette à ces systèmes d’interagir.
En général, la programmation de réseaux informatiques se divise en trois catégories. Un système connecté nécessite que deux ou plusieurs systèmes communiquent constamment pour fonctionner. Il s’agit souvent de relations client/serveur, où de nombreux clients uniques se connectent tous à un seul grand serveur. Dans ces cas, il existe généralement une bonne quantité d’inégalités, généralement une moitié du système connecté est beaucoup plus importante ou a plus de fonctionnalités que l’autre.
La programmation de réseaux informatiques non connectés crée des systèmes qui doivent communiquer entre eux, mais qui fonctionneront de manière indépendante. Bien que ce modèle ait de nombreuses applications, une utilisation courante courante est le serveur d’authentification. Dans cette configuration, un programme est plein et complet à un endroit, mais ne fonctionnera pas à moins d’être instruit par un programme différent. Lorsqu’un utilisateur tente d’utiliser le programme, il interroge le serveur d’authentification pour obtenir l’autorisation et le serveur répond. Les informations sur le serveur ne sont pas nécessaires au programme, mais cela ne fonctionnera que s’ils peuvent communiquer.
Le troisième type de programmation de réseau informatique est peer-to-peer. Dans ce style, les programmes sont à la fois un client et un serveur, envoyant et recevant des informations en même temps. Ces programmes se connecteront généralement à d’autres programmes du même type, créant ainsi un système fermé composé de centaines, voire de milliers, de systèmes indépendants. Il s’agit généralement du style de programmation de réseau informatique le plus équilibré, car chaque programme individuel est essentiellement le même.