日期:2014-05-16  浏览次数:20802 次

socket 编程中的 Accept函数问题
#include   <stdio.h>  
        #include   <stdlib.h>  
        #include   <errno.h>  
        #include   <string.h>  
        #include   <sys/types.h>  
        #include   <netinet/in.h>  
        #include   <sys/socket.h>  
        #include   <sys/wait.h>
        #include   <unistd.h>
        #include   <arpa/inet.h>

        #define   MYPORT   3490         /*   the   port   users   will   be   connecting   to   */

        #define   BACKLOG   10           /*   how   many   pending   connections   queue   will   hold   */

        main()
        {
                int   sockfd,   new_fd;     /*   listen   on   sock_fd,   new   connection   on   new_fd   */
                struct   sockaddr_in   my_addr;         /*   my   address   information   */
                struct   sockaddr_in   their_addr;   /*   connector 's   address   information   */
                int   sin_size;

                if   ((sockfd   =   socket(AF_INET,   SOCK_STREAM,   0))   ==   -1)   {
                        perror( "socket ");
                        exit(1);
                }

                my_addr.sin_family   =   AF_INET;                   /*   host   byte   order   */
                my_addr.sin_port   =   htons(MYPORT);           /*   short,   network   byte   order   */
                my_addr.sin_addr.s_addr   =   INADDR_ANY;   /*   auto-fill   with   my   IP   */
                bzero(&(my_addr.sin_zero),   8);                 /*   zero   the   rest   of   the   struct   */

                if   (bind(sockfd,   (struct   sockaddr   *)&my_addr,   sizeof(struct   sockaddr))   ==   -1)   {
                        perror( "bind ");
                        exit(1);
            &nb