voila 'ai coder un petit serveur vite fait qui permet d'accepter un client et il peut discuter avec celui ci.

mais mon petit problème, c'est quand la console du client est fermer, le serveur part en boucle infini, ce qui est assez gênant.

voici le code du serveur :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
	/*
	** Auteur : Talus
	** Description : Simple Serveur
	** Notes d'auteur :
	** Journal :
	*/
 
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
 
#define PORT 4444
#define BUFF_SIZE 1024
 
int main(void)
{
 
	WSADATA WSAData;
	WSAStartup(MAKEWORD(2,0), &WSAData);
 
	SOCKET sock;
	SOCKET csock;
	SOCKADDR_IN sin;
	SOCKADDR_IN csin;
	char buffer[BUFF_SIZE];
	int sin_size;
 
	sin.sin_addr.s_addr = htonl(INADDR_ANY);
	sin.sin_family      = AF_INET;
	sin.sin_port        = htons(PORT);
	sock = socket(AF_INET,SOCK_STREAM,0);
	bind(sock, (SOCKADDR *)&sin, sizeof(sin));
 
	listen(sock, 0);
 
	sin_size = sizeof(csin);
	csock = accept(sock, (SOCKADDR *)&csin, &sin_size);
	printf("%d connected \n", sock);
 
	while((recv(csock, buffer, sizeof(buffer), 0)))
		{
			printf("%d : %s", sock, buffer);
			send(csock, "recu", 4, 0);
			memset(buffer, 0, sizeof(buffer));
		}
  return (0);
}
je tente aussi de le rendre multi client, mais la je bloque totalement