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 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#include <cstdlib>
#include <iostream>
#include <winsock2.h>
using namespace std;
#define MAXLINE 4096 // définit la longueur maximum de la chaine lue
int main()
{
int n; // longueur réelle de la chaine lue
char recvline[MAXLINE + 1]; // chaine de caractère lue
char texte;
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr= inet_addr("127.0.0.1");
sin.sin_family= AF_INET;
sin.sin_port= htons(4148);
sock = socket(AF_INET,SOCK_STREAM,0);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
while ( (n = recv(sock, recvline, MAXLINE,0)) > 0) //attend le message du serveur
{
recvline[n] = 0; //ajoute le caractère de fin de chaine, à la fin de la chaine :p
cout << recvline << endl; // le renvoie à l'écran
}
if (n < 0) // en cas d'erreur, lors de la réception
{
perror("read error");
exit(1);
}
closesocket (sock); //ferme ta socket
WSACleanup ();
system("PAUSE") ;
return EXIT_SUCCESS;
} |
Partager