#include #include #include #include #include #include #include #include #include #include struct sockaddr_in aicl, aisv; int main(int argc, char **argv) { memset ((char*)&aisv,0,sizeof(aisv)); memset ((char*)&aicl,0,sizeof(aicl)); time_t t; int s_cl, s_sv, cllen, lg; char c[512]; aisv.sin_port=htons(30000); aisv.sin_family=AF_INET; aisv.sin_addr.s_addr=htonl(INADDR_ANY); if((s_sv=socket(AF_INET,SOCK_STREAM,0))<0){ puts("Erreur lors de la création de la socket"); exit(1); } bind(s_sv,(struct sockaddr*)&aisv,sizeof(aisv)); listen (s_sv,5); cllen=sizeof(aicl); while(1){ s_cl=accept(s_sv,(struct sockaddr *)&aicl,(socklen_t *)&cllen); printf("Connection du client : %s\n",inet_ntoa(aicl.sin_addr)); while(recv(s_cl,c,1,0)>0){ if(c[0]=='Z') printf("Deconnection du client : %s\n",inet_ntoa(aicl.sin_addr)); printf("%s",c); } } return 0; }