rendered paste body//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////serveur#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <unistd.h>#include <stdio.h>#include <string.h>#include <iostream>using namespace std;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void envoyer(char *msg);void recevoir();////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////struct sockaddr_in InfoSocketServeur, InfoSocketClient;socklen_t SocketServeur, SocketClient;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////int main (){ SocketServeur = socket(AF_INET, SOCK_STREAM, 0); if (SocketServeur < 0) { cout<<"le socket n'a pu etre crée"<<endl; return 0; } InfoSocketServeur.sin_family = AF_INET; InfoSocketServeur.sin_port = htons(3400); InfoSocketServeur.sin_addr.s_addr = INADDR_ANY; memset(&(InfoSocketServeur.sin_zero), 0, 8); //associs le port ect.. a la socket if((bind(SocketServeur, (struct sockaddr *)&InfoSocketServeur, sizeof(struct sockaddr))) < 0) { cout<<"la socket a merdee"<<endl; return 0; } if(listen(SocketServeur, 3400) < 0) { cout<<"ecoute imposible"<<endl; return 0; } socklen_t SizeInfo = sizeof(struct sockaddr_in); SocketClient = accept(SocketServeur, (struct sockaddr *)&InfoSocketClient, &SizeInfo); if (SocketClient <= 0) { cout<<"Impossible d'accepter la socket distante"<<endl; } else { cout<<"connection etablis, envoy du message."<<endl; envoyer("bonjour client !!!"); } shutdown(SocketServeur, 2); return 0;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void envoyer(char *msg){ int control = send(SocketClient, msg, strlen(msg), 0); if (control != strlen(msg)) { cout<<"erreur: pb dans l'envoy du msg"<<endl; }}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void recevoir(){ char msg[55]; int control = recv(SocketClient, msg, sizeof(msg), 0); msg[control]='\0'; if ( control != strlen(msg)) { cout<<"erreur: pb dans la reception du msg --> Recu: "<<control <<" attendu: "<<strlen(msg)<<endl; } cout<<"Message recu: "<<msg<<endl;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////