Bien le bonjour
J'ai commencé à programmer des sockets en C il y a peu de temps et j'ai 2-3 points que j'aimerais éclaircir.
* Tout d'abord, les sockets sous Windows sont déclarés comme suit :
SOCKET sock;
tandis que sur Unix, si j'ai bien compris, on utilisait le format int :
int sock;
Etant donné que dans le header winsock2 on a typedef int SOCKET, peut-on utiliser int à la place de SOCKET dans une application Windows ?
* Ma seconde question concerne les infos clients. Sur le programme serveur que j'ai réalisé, j'ai créé une SOCKADDR_IN Sin2; pour stocker les infos clients. Je pense qu'en utilisant la fonction getpeername();, je peux stocker les données clients dans Sin2, non ? Dans ce cas, comment puis-je par exemple afficher l'adresse IP de la machine qui se connecte ? Faut-il convertir Sin2.sin_addr.s_addr avant de l'afficher ?
* Enfin, je me demande si un client peut autant envoyer que recevoir, pareil pour le serveur. Ont-ils chacun besoin d'une partie serveur et client ou bien une seule suffit-elle ?
Merci de me répondre,
Fred
Partager