如何在C套接字实现中创建一个fork?

时间:2013-10-29 06:40:41

标签: c sockets fork

我的迷你项目是实现一个c套接字程序,其中多个客户端将文件发送到两个或三个服务器。我实现了这些。但是对于处理客户端请求我需要创建一个子进程吗?我怎样才能做到这一点 。比如必须单独处理请求。请任何人指导我这样做。

1 个答案:

答案 0 :(得分:3)

通常的多进程服务器通常看起来像这样(伪代码):

passive_socket = create_listening_socket()

for (;;)
{
    new_socket = accept(passive_socket)
    if (fork() == 0)
    {
        /* In child */
        read_from_socket(new_socket)
        write_to_socket(new_socket)
        /* Or do any other processing needed */

        exit(0);
    }
    else
    {
        /* In parent */
        close(new_socket)
    }
}