La librairie permet d'utiliser les sockets de manière assez simplifiée tout en gardant un contrôle absolu sur eux.
Plusieurs types de sockets existent, pour le côté client ainsi que le côté serveur :
Lorsque vous voulez communiquer avec un serveur, il est nécessaire d'utiliser un socket dit "client", pour cela, Cake_ClientSocket peut être utilisé.
L'utilisation la plus simple est la suivante :
cake_create_client_socket permet d'initialiser le socket afin de pouvoir se connecter au serveur grâce à cake_client_socket_connect. Ces fonctions retournent cake_true ou cake_false selon la réussite ou non de celle-ci.
La différence avec le client est que la structure Cake_AcceptedClientSocket est retournée par un socket serveur au lieu d'être créée explicitement.
L'utilisation est extrêmement simple :
C'est la fonction cake_server_socket_accept qui crée un Cake_AcceptedClientSocket, malgré la différence de nom avec un socket client basique, le fonctionnement est strictement le même. Les fonctions relatives aux sockets clients acceptés commence par cake_accepted_client_socket_
.
Les sockets peuvent aussi être utilisés pour créer des serveurs, pour cela la structure Cake_ServerSocket peut être utilisé.
De manière très simple, un serveur peut-être utilisé comme ça :