La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 26/12/2009 16:28:05

nagadscar
Membre
Date d'inscription: 20/11/2009
Messages: 7

bases logiciel réseau

Bonjour à tous,
bon voila, j'avais dis que je ferai un petit tuto, mais je n'ai malheureusement que peu de temps en ce moment. Je vais donc juste expliquer les bases.

**ATTENTION : LE CODE QUE JE VAIS DONNER NE FONCTIONNE QUE SOUS WINDOWS, IL Y A CERTAINES LIGNE DE CODE A METTRE POUR QUE LE CODE COMPILE SOUS LES DEUX OS**


Pour commencer, pour faire un logiciel réseau, nous utiliserons les socket (Les sockets sont des flux de données, permettant à des machines locales ou distantes de communiquer entre elles via des protocoles.
Les différents protocoles sont TCP qui est un protocole dit "connecté", et UDP qui est un protocole dit "non connecté".  [source : devellopez.com]).

Voici donc les principales commandes à connaitre : (attention, ca sera seulement via l'udp, les fonctions changent si vous voulez utiliser le tcp , mais personnelement je prefere udp ^^)

connect   //pour se connecter à un serveur , donc coté client bien sur
send  //pour transmettre une trame
recv  //pour recevoir une trame
close //pour fermer la connexion
bind //pour binder. (pas besoin de trop en dire dessus, on fait juste le bidage à l'initialisation et c'est tout)
listen //pour écouter un socket, coté serveur seulement
accept //pour accepter une connexion client

donc, le serveur et le client ont des fonctions en commun mais certaines propres à eux (connect qui sera seulement coté client et accept seulement coté serveur , ce qui ne veut pas dire qu'un serveur ne peu etre client).

de plus, sous windows, il y a les WINSOCK à initialiser avant de faire quelque travail que ce soit sur les socket. Mais je vous rassure, quelque soit le programme client/serveur, c'est un copié collé. Voila donc ce code :

/**--------[pour initialiser]----------------------**/
    WSADATA wsa;
    int err = WSAStartup(MAKEWORD(2, 2), &wsa);
    if(err < 0)
    {
        puts("WSAStartup failed !");
        exit(EXIT_FAILURE);
    }
/**-------[pour fermer]--------------------------**/
    WSACleanup();



le mieux étant de mettre des balises afin de vérifier que l'on est bien sous windows (avec : #ifdef WIN32 et #endif)

voila , grace à ca, vous pouvez maintenant faire un programme simple grace à un compilateur type devc++ , code::blocks etc.

(il faut aussi penser à inclure la bibliothèque <winsock2.h> au début du programme.)


Si vous avez des questions, hésitez pas, et dès que possible, je mettrai le tuto avec le code pour une messagerie instantanée simple (en mode console).

bne journée et joyeux noël ^^

Hors ligne

 

26/12/2009 16:28:05

Botte De Foin Publicitaire


Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net