Prise de programmation: Permission denied

Code suivant est serveur TCP programme renvoyer “BONJOUR!!” pour le client.

Quand je lance le serveur avec le port 80, bind() est retourné Permission denied.

Port 12345 est OK.

Comment puis-je utiliser le port 80 pour ce programme serveur?

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

int
main(){
    int sock0;
    struct sockaddr_in addr;
    struct sockaddr_in client;
    int len;
    int sock;
    char *message;
    message = "HELLO !!";
    sock0 = socket(AF_INET,SOCK_STREAM,0);
    addr.sin_family = AF_INET;
    addr.sin_port = htons(80);
    inet_pton(AF_INET,"127.0.0.1",&addr,sizeof(addr));
    bind(sock0,(struct sockaddr *)&addr,sizeof(addr));
    perror("bind");
    len = sizeof(client);
    sock = accept(sock0,(struct sockaddr *)&client,&len);
    perror("accept");
    write(sock,message,sizeof(message));
    perror("write");
    close(sock);
    return 0;
}

OriginalL'auteur user1345414 | 2013-12-05