#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define IP "127.0.0.1"
#define PORT 2000
void color(int couleurDuTexte,int couleurDeFond)
{
HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
}
int main(void)
{
int error;
color(0,15);
puts(" <[ Client Bad_Day ]>\n\n");
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock = sock = socket(AF_INET, SOCK_STREAM, 0);
if( sock != INVALID_SOCKET )
{
color(2,0);
printf(":-) Socket %d is new opened in TCP/IP mode.\n",sock);
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr(IP);
sin.sin_family = AF_INET;
sin.sin_port = htons(PORT);
error = connect(sock, (SOCKADDR *)&sin, sizeof sin);
if( error != SOCKET_ERROR )
{
char bufferSend[50];
char bufferRecv[50];
int go = 1;
color(2,0);
printf(":-) Connected to server...\n\n");
do
{
color(9,0);
printf("<<<< CLIENT DIT: ");
fgets(bufferSend, sizeof bufferSend, stdin);
error = send(sock, bufferSend, strlen(bufferSend), 0);
color(7,0);
printf("\n...................Attente de la reponce du serveur (passiontez svp)....\n\n");
if(error == SOCKET_ERROR) go = 0;
error = recv(sock, bufferRecv, sizeof(bufferRecv)-1, 0);
if(error == SOCKET_ERROR) go = 0;
else
{
bufferRecv[error] = '\0';
color(12,0);
printf(">>>> SERVER DIT: %s\n",bufferRecv);
}
}
while (go);
color(1,0);
printf("::::: send imposible, closing socket...\n");
closesocket(sock);
printf("::::: Socket %d is new closed.\n",sock);
}
else
{
color(4,0);
printf(":-/ Not connected ! connection failure.\n");
return EXIT_FAILURE;
}
}
else
{
printf(":-/ Invalid Socket. Socket is not opened.\n");
return EXIT_FAILURE;
}
WSACleanup();
color(7,0);
system("pause");
return EXIT_SUCCESS;
}
Voici les erreurs de compilation:
[Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `socket@12'
[Linker error] undefined reference to `htonl@4'
[Linker error] undefined reference to `htons@4'
[Linker error] undefined reference to `bind@12'
[Linker error] undefined reference to `listen@8'
[Linker error] undefined reference to `accept@12'
[Linker error] undefined reference to `recv@16'
[Linker error] undefined reference to `send@16'
[Linker error] undefined reference to `shutdown@8'
[Linker error] undefined reference to `closesocket@4'
[Linker error] undefined reference to `closesocket@4'
[Linker error] undefined reference to `WSACleanup@0'
ld returned 1 exit status
AIDEZ MOI SVP
Partager