Unable run a server.....

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • group11
    New Member
    • Feb 2007
    • 1

    Unable run a server.....

    hi all,

    we trying to run a server code for finding out time of our system....

    code is:
    #include "unp.h"
    #include <time.h>

    int
    main(int argc, char **argv)
    {
    int listenfd, connfd;
    struct sockaddr_in servaddr;
    char buff[MAXLINE];
    time_t ticks;

    listenfd = Socket(AF_INET, SOCK_STREAM, 0);

    bzero(&servaddr , sizeof(servaddr ));
    servaddr.sin_fa mily = AF_INET;
    servaddr.sin_ad dr.s_addr = htonl(INADDR_AN Y);
    servaddr.sin_po rt = htons(13); /* daytime server */

    Bind(listenfd, (SA *) &servaddr, sizeof(servaddr ));

    Listen(listenfd , LISTENQ);

    for ( ; ; ) {
    connfd = Accept(listenfd , (SA *) NULL, NULL);

    ticks = time(NULL);
    snprintf(buff, sizeof(buff), "%.24s\r\n" , ctime(&ticks));
    Write(connfd, buff, strlen(buff));

    Close(connfd);
    }
    }



    code for client is:

    #include "unp.h"

    int
    main(int argc, char **argv)
    {
    int sockfd, n;
    char recvline[MAXLINE + 1];
    struct sockaddr_in servaddr;

    if (argc != 2)
    err_quit("usage : a.out <IPaddress>") ;

    if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    err_sys("socket error");

    bzero(&servaddr , sizeof(servaddr ));
    servaddr.sin_fa mily = AF_INET;
    servaddr.sin_po rt = htons(13); /* daytime server */
    if (inet_pton(AF_I NET, argv[1], &servaddr.sin_a ddr) <= 0)
    err_quit("inet_ pton error for %s", argv[1]);

    if (connect(sockfd , (SA *) &servaddr, sizeof(servaddr )) < 0)
    err_sys("connec t error");

    while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
    recvline[n] = 0; /* null terminate */
    if (fputs(recvline , stdout) == EOF)
    err_sys("fputs error");
    }
    if (n < 0)
    err_sys("read error");

    exit(0);
    }

    then we running the server it says "permission denied.."

    plz help out!!!!

    thnxs.......
  • cybervegan
    New Member
    • Jan 2007
    • 36

    #2
    In the server code, you have:
    Originally posted by group11
    servaddr.sin_po rt = htons(13); /* daytime server */
    Port 13 is a resticted port, only available to the superuser. All ports below port 1024 are reserved for server processes, and any program that wishes to use them must be running as a root level process. Try upping your port number (on both server and client) to, say 10000, and see if it works. Alternatively, run your server as root with sudo.

    hth,
    -cybervegan

    Comment

    Working...