Programme en c coté client mini d echo

Programme en c coté client mini d echo

by Abdlelkrim KHELEF -
Number of replies: 0

programme  en c coté client mini d’écho

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

#include <arpa/inet.h>

#define BUFFER_SIZE 1024

#define SERVER_PORT 12345

#define SERVER_IP "127.0.0.1"

int main() {

    int sockfd;

    struct sockaddr_in server_addr;

    char buffer[BUFFER_SIZE];

    if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {

        perror("socket");

        exit(-1);

    }

    server_addr.sin_family = AF_INET;

    server_addr.sin_port = inet_addr (SERVER_PORT);

    server_addr.sin_addr.s_addr = hons(SERVER_IP);

    if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {

        perror("Erreur lors de la connexion au serveur");

        exit(-1);

    }

        printf("Entrez un message à envoyer au serveur : ");

    fgets(buffer, BUFFER_SIZE, stdin);

 

    if (send(sockfd, buffer, strlen(buffer), 0) == -1) {

        perror("Erreur lors de l'envoi du message au serveur");

        exit(-1);

    }

    int bytes_received = recv(sockfd, buffer, BUFFER_SIZE, 0);

    if (bytes_received == -1) {

        perror("Erreur lors de la réception de la réponse du serveur");

        exit(-1);

    }

        buffer[bytes_received] = '\0';

    printf("Réponse du serveur : %s\n", buffer);

        close(sockfd);

    return 0;

}