coder 1 client-serveur

coder 1 client-serveur - C - Programmation

Marsh Posté le 03-09-2004 à 18:19:57    

Salut,
 
Où puis je trouver les notions de base pour coder un ptit prog client-serveur en C (le client communiquant avec le serveur via internet)?
 
d'avance merci
++
 
PS j'ai à ma disposition l'environnement Visual C++ (et je veux coder uniquement en C )

Reply

Marsh Posté le 03-09-2004 à 18:19:57   

Reply

Marsh Posté le 03-09-2004 à 18:23:08    

je ne sais pas ce que ca vaut :
http://www.salemioche.com/outils/c_prog1.php

Reply

Marsh Posté le 03-09-2004 à 18:25:47    

Reply

Marsh Posté le 12-09-2004 à 21:43:29    

salut,
 
objet: le lien très intéressant donné ci-dessus par Joel F.
http://gametutorials.com/Tutorials [...] ng_Pg1.htm
--> programme "Making a connection"  
 
J'ai une question à propos de cette partie du code:
 
char server_name[40] = "hostname";
/* If you are on a network and you want to run the client on another computer, you can get our IP from running ipconfig from the command line, and enter that IP address instead of the word "localhost". */

 
si on affiche* la variable host_entry initialisée par  
host_entry = gethostbyname(server_name);  
on s'aperçoit que la variable a stocké le nom de l'ordi.
 
*en ajoutant la ligne suivante:  printf("le nom d'hote de la  machine executant le client est: %s\n\n", *host_entry );
 
si l'on remplace "hostname" par une adr ip "45.123.87.11" (exemple fictif de l'adresse du prog serveur)  
alors la variable host_entry a stocké cette fois l'adresse ip et pas le nom de l'ordi!
 
Explications svp?
 


Message édité par namerh le 12-09-2004 à 21:53:05
Reply

Marsh Posté le 12-09-2004 à 22:12:51    

namerh a écrit :

salut,
 
objet: le lien très intéressant donné ci-dessus par Joel F.
http://gametutorials.com/Tutorials [...] ng_Pg1.htm
--> programme "Making a connection"  
 
J'ai une question à propos de cette partie du code:
 
char server_name[40] = "hostname";
/* If you are on a network and you want to run the client on another computer, you can get our IP from running ipconfig from the command line, and enter that IP address instead of the word "localhost". */

 
si on affiche* la variable host_entry initialisée par  
host_entry = gethostbyname(server_name);  
on s'aperçoit que la variable a stocké le nom de l'ordi.
 
*en ajoutant la ligne suivante:  printf("le nom d'hote de la  machine executant le client est: %s\n\n", *host_entry );
 
si l'on remplace "hostname" par une adr ip "45.123.87.11" (exemple fictif de l'adresse du prog serveur)  
alors la variable host_entry a stocké cette fois l'adresse ip et pas le nom de l'ordi!
 
Explications svp?


 
La fonction "gethostbyname" va chercher des informations sur une machine dont on connaît le nom. Cette fonction récupère ces informations
1) soit à partir du fichier "/etc/hosts"
2) soit à partir du serveur DNS de ton réseau
 
Si tu veux des informations sur une machine dont tu n'as que l'adresse IP, tu dois utiliser la fonction "gethostbyaddr".
 
Si tu utilises la fonction "gethostbyname" en y donnant en paramètre une adresse IP, je ne sais pas comment cette fonction va se comporter. Apparemment, dans ton cas, la fonction renvoie simplement l'adresse IP qu'elle n'a pas su utiliser.
 
Il y a un détail qui me gène: tu affiches directement le contenu de ton pointeur renvoyé par la fonction "gethostbyname". Dans mes souvenirs, cette fonction renvoyait un pointeur vers une structure de type "struct hostent". Si c'est toujours le cas, tu risques d'avoir des soucis en affichant ce pointeur comme si c'était uen chaîne de caractères...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed