/*===============================================*\ Mercredi 9 Septembre 1998 Arash HABIBI BindInternet.c Un programme a qui on donne en entree un numero de port et qui cree une socket et l'attache a ce port. Le but de la manoeuvre est de manier l'adresse aux formats d'internet. Et de pouvoir reperer sa socket avec la commande netstat -a -f inet. Samedi 13 Juillet 2002 M.Lokbani validation gcc 2.95.3 - gestion des erreurs - corrections des warnings relatifs aux E/S du systèmes. \*================================================*/ #include #include #include #include #include #include struct sockaddr_in adresse_loc; int main(int argc, char **argv) /*================================================*\ \*================================================*/ { int desc, res; char bidon; if(argc!=2) {printf("Usage : BindInternet port_local\n"); exit(1);} /*--------- creation de la socket ---------------------*/ desc = socket(AF_INET, SOCK_DGRAM, 0); if(desc == -1) {perror("socket"); exit(1);} else printf("Socket creee.\n"); /*--------- preparation de l'adresse ------------------*/ adresse_loc.sin_family = AF_INET; /*adresse_loc.sin_port = port; adresse_loc.sin_addr.s_addr = INADDR_ANY;*/ /* ----Pour la portabilite sur little-endians ----- */ adresse_loc.sin_port = htons(atoi(argv[1])); adresse_loc.sin_addr.s_addr = htonl(INADDR_ANY); /*---- attachement de la socket a l'adresse -------------*/ res = bind(desc, (struct sockaddr *)&adresse_loc, sizeof(adresse_loc)); if(res == -1) {perror("bind"); exit(1);} else printf("Socket attachee.\n"); /* --------- Attente d'un RETURN pour sortir ----------*/ printf("RETURN pour sortir.\n"); scanf("%c", &bidon); return 0; }