#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;
}