#include #include #include #include #include #include #define p 30002 main() { int sock; u_short port; char message[1024], NomServeur[20]; struct sockaddr_in adresse; struct hostent *adresse_ip; sock = socket(AF_INET,SOCK_STREAM,0); if (sock <0) {perror("Saloperie de Socket qui s'ouvre pas"); return(-1);} fprintf(stderr, "\n Nom du serveur de jeu :\n"); scanf("%s",NomServeur); fprintf(stderr,"NomServeur:%s",NomServeur); adresse_ip = gethostbyname(NomServeur); if (adresse_ip ==NULL) {perror("Problème d'obtention d'adresse"); return(-1);} memcpy( (char *)&adresse.sin_addr, (char*)adresse_ip->h_addr,adresse_ip->h_length); adresse.sin_family = AF_INET; adresse.sin_port = htons((u_short) p); if (connect(sock, (struct sockaddr *)&adresse, sizeof(adresse))== -1) {perror("Problème de connexion"); return(-1);} fprintf(stderr, "Message à envoyer : \n"); scanf("%s",message); if (write(sock,message,strlen(message)+1) == -1) { perror(" Erreur d'émission ou d'écriture dans la socket"); return(-1);} fprintf(stderr," Le message est envoyé \n "); fprintf(stderr," Message reçu? \n "); memset(message,0,sizeof message); if ((read(sock,message,1024) == -1)) { perror("Erreur de lecture de la socket "); return(-1); } else fprintf(stderr,"\n Le message reçu est : %s \n", message); close(sock); }