From 9cb47f7c7e208ea2650e7d19e5755022b7ef73f6 Mon Sep 17 00:00:00 2001 From: Ime22nemouhoubi <128074481+Ime22nemouhoubi@users.noreply.github.com> Date: Sun, 6 Aug 2023 17:04:36 +0100 Subject: [PATCH] Add files via upload --- Client & Server.c/client.c | 63 +++++++++++++++++++++++++++++++++++++ Client & Server.c/serveur.c | 61 +++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 Client & Server.c/client.c create mode 100644 Client & Server.c/serveur.c diff --git a/Client & Server.c/client.c b/Client & Server.c/client.c new file mode 100644 index 0000000..ea516d4 --- /dev/null +++ b/Client & Server.c/client.c @@ -0,0 +1,63 @@ +/// client /// + +#include +#include +#include + +#include +#include +#include + +#define SERVEURNAME “x.x.x.x” // adresse IP du serveur (emetteur) + +int to_server_socket = -1; + +void main ( void ) +{ + +char *server_name = SERVEURNAME; +struct sockaddr_in serverSockAddr; +struct hostent *serverHostEnt; +long hostAddr; +long status; +char buffer[512]; + +bzero(&serverSockAddr,sizeof(serverSockAddr)); +hostAddr = inet_addr(SERVEURNAME); +if ( (long)hostAddr != (long)-1) +bcopy(&hostAddr,&serverSockAddr.sin_addr,sizeof(hostAddr)); +else +{ +serverHostEnt = gethostbyname(SERVEURNAME); +if (serverHostEnt == NULL) +{ +printf(“gethost rate\n”); +exit(0); +} +bcopy(serverHostEnt->h_addr,&serverSockAddr.sin_addr,serverHostEnt->h_length); +} +serverSockAddr.sin_port = htons(port); +serverSockAddr.sin_family = AF_INET; + +//creation de la socket +if ( (to_server_socket = socket(AF_INET,SOCK_STREAM,0)) < 0) +{ +printf(“creation socket client ratee\n”); +exit(0); +} +// requete de connexion +if(connect( to_server_socket, +(struct sockaddr )&serverSockAddr, +sizeof(serverSockAddr)) < 0 ) +{ +printf(“demande de connection ratee\n”); +exit(0); +} +//envoie de donne et reception +write(to_server_socket,“Toto”,4); +read(to_server_socket,buffer,512); +printf(buffer); +//ermeture de la connection +shutdown(to_server_socket,2); +close(to_server_socket); +} \ No newline at end of file diff --git a/Client & Server.c/serveur.c b/Client & Server.c/serveur.c new file mode 100644 index 0000000..4908ad0 --- /dev/null +++ b/Client & Server.c/serveur.c @@ -0,0 +1,61 @@ + /* envoie d'une requete http serveur.c */ + +#include +#include +#include +#include +#include + +char buffer[512]; +int my_socket; + +int main(void){ //prog return 0; } + +int client_socket; +struct sockaddr_in my_address, client_address; +int my_address_longueur, lg; + +bzero(&my_address,sizeof(my_address)); +my_address.sin_port = htons(port); +my_address.sin_family = AF_INET; +my_address.sin_addr.s_addr = htonl(INADDR_ANY); + +//creation de socket +if ((my_socket = socket(AF_INET,SOCK_STREAM,0))== -1) +{ +printf(“creation rate\n”); +exit(0); +} +signal(SIGINT,fin); +//bind serveur - socket +bind(my_socket,(struct sockaddr *)&my_address,sizeof(my_address)); +my_address_longueur = sizeof(client_address); + +//ecoute sur la socket +listen(my_socket,5); + +//accept la connexion +my_address_longueur = sizeof(client_address); +while(1) +{ +client_socket = accept(ma_socket, +(struct sockaddr *)&client_address, +&my_address_longueur); + +if (fork() == 0) +{ +close(ma_socket); + +lg = read(client_socket,buffer, 512); +printf("le serveur a recu: %s\n",buffer); +sprintf(buffer,"%s du serveur",buffer); +write(client_socket,buffer, 512); +shutdown(client_socket,2); +close(client_socket); +exit(0); + +} +} +shutdown(ma_socket,2); +close(ma_socket); +}[/code] \ No newline at end of file