Networked applications were usually implemented by using the :term:`socket` :term:`API`. This API was designed when TCP/IP was first implemented in the `Unix BSD`_ operating system [Sechrest]_ [LFJLMT]_, and has served as the model for many APIs between applications and the networking stack in an operating system. Although the socket API is very popular, other APIs have also been developed. For example, the STREAMS API has been added to several Unix System V variants [Rago1993]_. The socket API is supported by most programming languages and several textbooks have been devoted to it. Users of the C language can consult [DC2009]_, [Stevens1998]_, [SFR2004]_ or [Kerrisk2010]_. The Java implementation of the socket API is described in [CD2008]_ and in the `Java tutorial <http://java.sun.com/docs/books/tutorial/networking/sockets/index.html>`_. In this section, we will use the C socket API to illustrate the key concepts.
Les applications en réseau sont généralement mises en œuvre à l'aide de l'interface :term:`socket` :term:`API`. Cette API a été conçue lorsque TCP/IP a été implémenté pour la première fois dans le système d'exploitation `Unix BSD`_ [Sechrest]_ [LFJLMT]_, et a servi de modèle pour de nombreuses API entre les applications et la pile réseau dans un système d'exploitation. Bien que l'API socket soit très populaire, d'autres API ont également été développées. Par exemple, l'API STREAMS a été ajoutée à plusieurs variantes d'Unix System V [Rago1993]_. L'API socket est supportée par la plupart des langages de programmation et plusieurs manuels lui ont été consacrés. Les utilisateurs du langage C peuvent consulter [DC2009]_, [Stevens1998]_, [SFR2004]_ ou [Kerrisk2010]_. L'implémentation Java de l'API socket est décrite dans [CD2008]_ et dans le `tutoriel Java <http://java.sun.com/docs/books/tutorial/networking/sockets/index.html>`_. Dans cette section, nous utiliserons l'API socket C pour illustrer les concepts clés.