You are on page 1of 1

#include <stdio.h> #include <winsock2.h> int main() { WSADATA wsaData; if (WSAStartup(MAKEWORD(2, 0), &wsaData) !

= 0) fprintf(stderr, "La fonction WSAStartup a echoue.\n"); else { SOCKET s; s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == INVALID_SOCKET) fprintf(stderr, "La fonction socket a echoue.\n"); else { SOCKADDR_IN server; server.sin_family = AF_INET; server.sin_addr.s_addr = inet_addr("127.0.0.1"); server.sin_port = htons(5050); memset(&server.sin_zero, '\0', sizeof(server.sin_zero)); if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR) fprintf(stderr, "La fonction connect a echoue.\n"); else { char buffer[100]; int n; n = recv(s, buffer, sizeof(buffer) - 1, 0); /* Lire tout au plus sizeof(buffer) - 1 octets */ /* Il faut reserver le dernier octet pour le caractere de fin de chaine, '\0'. */ if (n != SOCKET_ERROR) { buffer[n] = '\0'; printf("%s", buffer); send(s, "Au revoir\n", (int)strlen("Au revoir\n"), 0); } shutdown(s, SD_SEND); } closesocket(s); } WSACleanup(); } return 0; }

You might also like