gpt4 book ai didi

c - 在套接字中使用 fork() 调用后服务器未退出

转载 作者:行者123 更新时间:2023-11-30 19:05:28 26 4
gpt4 key购买 nike

在添加 fork() 之前,下面的代码工作正常,但是在调用 fork() 调用之后,服务器无限运行。我希望服务器在服务特定数量的客户端后退出,并希望服务器在此后终止。

for(count = 0; count < 2; count++)
{
client_socket = accept(server_socket, NULL, NULL);
if(fork() == 0)
{
printf("from Server\n");
}
close(client_socket);
}

close(server_socket);
}

最佳答案

您似乎想为特定数量的客户端提供服务然后终止,请尝试:

#define MAX_CLIENTS 3
for(count = 0; count < MAX_CLIENTS; count++)
{

client_socket = accept(server_socket, NULL, NULL);
if(fork() != 0)
{
/*Thats parent it will go back listening*/
printf("from Server\n");
}
else
{
/*Thats child it will Serv the client and terminate*/
close(client_socket);
exit(0);
}
}

close(server_socket);

关于c - 在套接字中使用 fork() 调用后服务器未退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49791044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com