#include <stdio.h>
#include <netdb.h>
#include <netinet/in.h>
#define BUFFER_SIZE 500
#define NAME_SIZE 1000


int sendstring(int c)
{
char buffer[BUFFER_SIZE], name[NAME_SIZE];
int sendrecv;
strcpy(buffer, "login: ";
sendrecv = send(c, buffer, strlen(buffer), 0);
/* normalement on test si les envoies et les rceptions ont t correctement
effectus */
sendrecv = recv(c, name, sizeof(name), 0);
name[sendrecv - 1] = '\0';
sprintf(buffer, "\nHello %s ! Welcome to my server !\r\n", name); /* OMFG */
send(c, buffer, strlen(buffer), 0);
return 0;
}

int main(int argc, char *argv[])
{
int s, c, cli_size;
struct sockaddr_in yeah, cli;
/* normalement dans un vrai server on fait des tests si les fonctions ont
russis ou non */
s = socket(AF_INET, SOCK_STREAM, 0);
yeah.sin_addr.s_addr = INADDR_ANY;
yeah.sin_port = htons(4000);
yeah.sin_family = AF_INET;
bind(s, &yeah, sizeof(yeah));
listen(s, 3);
while(1)
{
c = accept(s, &cli, &cli_size);
sendstring(c);
close(c);
}
return 0;
}