You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.5 KiB

// #include<stdio.h>
// #include <stdlib.h>
// #include<sys/types.h>
// #include <sys/socket.h>
// #include<errno.h>
// #include<netdb.h>
// #include<string.h> /* pourmemset */
// #include<ctype.h> /* pourtoupper */
// #include <arpa/inet.h> /* pour inet_ntop */
// #define DGRAM_MAX 1024 /* taille MAX en réception */
// void usage() {
// fprintf(stderr,"usage: serveur port fichier\n");
// exit(1);
// }
// int main(int argc, char **argv) {
// int s, ret;
// socklen_t len_src_addr;
// struct addrinfo hints, *result;
// struct sockaddr_storage src_addr;
// char request[DGRAM_MAX];
// /* Vérificationd e sarguments */
// if(argc!=2){
// fprintf(stderr,"Erreur : Nb args !");
// usage();
// }
// memset(&hints, 0, sizeof(struct addrinfo));
// hints.ai_flags = AI_PASSIVE; /* For wildcard I P address */
// hints.ai_family = AF_INET6; /* AllowIPv4o rIPv6 */
// hints.ai_socktype = SOCK_DGRAM; /* Datagramsocket */
// hints.ai_protocol = 0; /* Any protocol */
// hints.ai_canonname = NULL;
// hints.ai_addr = NULL;
// hints.ai_next = NULL;
// ret = getaddrinfo (NULL, argv[1], &hints, &result);
// if(ret != 0) {
// fprintf(stderr, "getaddrinfo : %s\n", gai_strerror(ret));
// exit(EXIT_FAILURE);
// }
// /* Créationd de la socket IPv4/IPv6 */
// if((s=socket(result->ai_family, result->ai_socktype, result->ai_protocol))==-1) {
// perror("socket"); exit(errno);
// }
// /* Attachementd el asocket */
// if(bind(s, result->ai_addr, result->ai_addrlen) == -1) {
// perror("bind"); exit(errno);
// }
// freeaddrinfo (result);
// while(1) {
// /* Attente et lecture d'une requête */
// len_src_addr = sizeof src_addr;
// if((ret=recvfrom(s, request, DGRAM_MAX-1, 0, (struct sockaddr*) &src_addr, &len_src_addr))==-1) {
// perror("recvfrom"); exit(1);
// }
// request[ret] = 0;
// puts(request);
// /* Traitement de la requête (passage en majuscule) */
// {
// int i=0;
// while(request[i]) {
// request[i]=toupper(request[i]);
// ++i;
// }
// }
// /* Envoi de la réponse */
// if(sendto(s, request, strlen(request), 0, (struct sockaddr*) &src_addr, len_src_addr)==-1) {
// perror("sendto"); exit(1);
// }
// }
// close(s);
// return 0;
// }