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
| #include<sys/types.h>
#include<sys/socket.h>
#include<stdio.h>
#include<sys/un.h>
#include<unistd.h>
int main(){
int sockfd_serveur , sockfd_client;
int long_serveur,long_client;
struct sockaddr_un adress_serveur;
struct sockaddr_un adresse_client;
//suppresion tout ancien socket
unlink("socket_serveur");
sockfd_serveur = socket(AF_UNIX , SOCK_STREAM,0);//af , type, protocol
adress_serveur.sun.family=AF_UNIX;
strcpy(adresse_serveur.sun_path,"socket_serveur");
long_serveur=sizeof(adresse_serveur);
bind(sockfd_serveur,(struct sockaddr *) & adresse_serveur,long_serveur);
listen(sockfd_serveur,5);
while(1){
int l;
printf("serveur att le client \a\n");
long_client =sizeof(adress_client);
sockfd_client=accept(sockfd_serveur,(struct sockaddr*)&adresse_client,&long_client);
read(sockfd_client,& l,1);
l--;
write(sockfd_client,& l , 1),
close(sockfd_client);
}
} |