Bonjour à tous,
Ben j'ai été entrain d'apprendre à utiliser les sockets sous windows en langage C
En créant mes premiers programme de test qui sont les suivant :
serveur:
Client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 */ #include<windows.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") int main() { WSADATA WSAData; SOCKET sock; SOCKET csock; SOCKADDR_IN sin; SOCKADDR_IN csin; WSAStartup(MAKEWORD(2,0), &WSAData); sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = INADDR_ANY; sin.sin_family = AF_INET; sin.sin_port = htons(23); bind(sock, (SOCKADDR *)&sin, sizeof(sin)); listen(sock, 0); while(1) /* Boucle infinie. Exercice : améliorez ce code. */ { int sinsize = sizeof(csin); if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET) { send(csock, "Hello world!\r\n", 14, 0); closesocket(csock); } } /* On devrait faire closesocket(sock); puis WSACleanup(); mais puisqu'on a entré une boucle infinie ... */ return 0; }
ça se compile ni s'execute plus les erreurs sont de genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") int main() { WSADATA WSAData; SOCKET sock; SOCKADDR_IN sin; char buffer[255]; WSAStartup(MAKEWORD(2,0), &WSAData); /* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */ sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = inet_addr("62.250.14.6"); sin.sin_family = AF_INET; sin.sin_port = htons(6667); connect(sock, (SOCKADDR *)&sin, sizeof(sin)); recv(sock, buffer, sizeof(buffer), 0); closesocket(sock); WSACleanup(); return 0; }
[Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `socket@12'
.. sont nombreuuux indénobralbles![]()
Partager