Example #1
0
int main(int argc, char** argv)
{
    g_signal.RegisterSignals();

    int port = 7777;
    int g_servfd = listen_net(port);
    if (g_servfd < 0)
    {
        printf("listen_net failed %s\n", strerror(errno));
        return -1;
    }
    printf("listen_net start\n");
    
    int clifd1 = my_accept(g_servfd);
    if (clifd1 < 0)
    {
        printf("my_accept failed %s\n", strerror(errno));
        return -1;
    }
    set_fd_nonblock(clifd1);
    printf("my_accept clifd1 %d\n", clifd1);

    int clifd2 = my_accept(g_servfd);
    if (clifd2 < 0)
    {
        printf("my_accept failed %s\n", strerror(errno));
        return -1;
    }
    set_fd_nonblock(clifd2);
    printf("my_accept clifd2 %d\n", clifd2);
    
    int fds[2];
    fds[0] = clifd1;
    fds[1] = clifd2;

    int pid1 = fork();
    if (pid1 == 0) //子进程
    {
        clildfolw(fds, 2);

        return 0;

    }
    
    
    int pid2 = fork();
    if (pid2 == 0) //子进程
    {
        clildfolw(fds, 2);

        return 0;

    }
     
    
    sleep(1000);

    return 0;
}