multiplication coté serveur en mode Déconnecté

multiplication coté serveur en mode Déconnecté

par Abderrahmane SAADI,
Nombre de réponses : 6

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/types.h>

#include <sys/socket.h>


#define BUFFER_SIZE 1000

int main() {

    socklen_t client_addr_length;

    char buffer[BUFFER_SIZE];

    int num1, num2;

   

    int s = socket(AF_INET, SOCK_STREAM, 0);


    struct sockaddr_in serv_addr, client_address;

    serv_add.sin_family = AF_INET;

    serv_add.sin_addr.s_addr = inet_addr("192.22.30.44");

    serv_add.sin_port = 4444;


    if (bind(s, &ser_add, sizeof(serv_add)) < 0) {

        perror("bind !!");

        exit(-1);

    }

    // Réception des deux nombres envoyés par le client

    client_addr_length = sizeof(client_address);


    memset(buffer, 0, BUFFER_SIZE);

    recvfrom(s, buffer, BUFFER_SIZE, 0, (struct sockaddr *)&client_address, &client_addr_length);

    num1 = atoi(buffer);


    memset(buffer, 0, BUFFER_SIZE);

    recvfrom(s, buffer, BUFFER_SIZE, 0, (struct sockaddr *)&client_address, &client_addr_length);

    num2 = buffer;

    result = num1 * num2;

    // Envoi du résultat au client

    memset(buffer, 0, BUFFER_SIZE);

    printf(buffer, BUFFER_SIZE, result);

    sendto(s, buffer, strlen(buffer), 0, NULL, NULL);

    close(s);

    return 0;

}

En réponse à Abderrahmane SAADI

Re: multiplication coté serveur en mode Déconnecté

par Houaria Feriel TAOUCI,
ajouter les bibliothéque : #include<netinet/in.h>
                                        #include<arpa/inet.h>
En réponse à Abderrahmane SAADI

Re: multiplication coté serveur en mode Déconnecté

par Nour Elhouda DJELLOULI,
1 )#include 'sys/un.h' pour AF_UNIX
2) #include'arpa/inet.h'
3)SOCK_DGRAM pour mode UDP
4)AF_UNIX pour mode no concter
int s = socket(AF_UNIX, SOCK_DGRAM, 0);
5) serv_add.sin_family = AF_UNIX;
En réponse à Abderrahmane SAADI

Re: multiplication coté serveur en mode Déconnecté

par Faten Hadil LABANI,
* #include 'sys/un.h' pour AF_UNIX
* #include'arpa/inet.h' pour inet_addr
* mode déconnecté SOCK_DGRAM pour mode UDP
* le nom de structure exacte serv_addr.sin_family = AF_INET;
* le nom de structure exacte serv_addr.sin_addr.s_addr = inet_addr("192.22.30.44");
*serv_addr.sin_port = htons(4444); // Utiliser htons pour l'ordre des octets du réseau
* if (bind(s, &ser_add, sizeof(serv_add)) < 0) correction:if (bind(s, &serv_addr, sizeof(serv_addr)) < 0)
En réponse à Abderrahmane SAADI

Re: multiplication coté serveur en mode Déconnecté

par KELTOUMA BOUACHRIA,
Vous avez utilisé recvfrom() et sendto() au lieu de recv() et send() pour une connexion de type SOCK_STREAM.
Vous avez utilisé &ser_add au lieu de &serv_add lors de l'appel à bind().