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
|
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char**argv)
{
int socket_serveur,socket_client,n;
struct sockaddr_in servaddr,cliaddr;
socklen_t clilen;
char mesg[1000];
socket_serveur=socket(AF_INET,SOCK_STREAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
servaddr.sin_port=htons(32000);
bind(socket_serveur,(struct sockaddr *)&servaddr,sizeof(servaddr));
listen(socket_serveur,1024);
while(1)
{
clilen=sizeof(cliaddr);
socket_client = accept(socket_serveur,(struct sockaddr *)&cliaddr,&clilen);
n = read(socket_client,mesg,1000,0,(struct sockaddr *)&cliaddr,&clilen);
if(strcmp(mesg, "\n") == 0){
write(socket_client,"au revoir\n",10,0,(struct sockaddr *)&cliaddr,sizeof(cliaddr));
shutdown(socket_serveur,2);
close (socket_serveur);
shutdown(socket_client,2);
close(socket_client);
//exit(1);
}
mesg[n] = 0;
printf("%s",mesg);
}
} |
Partager