| 12
 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