Simple.В точке, где вы звоните accept()
, что-то вроде этого:
new_conn = accept(listen_sock, &addr, addr_len);
if (new_conn > 0)
{
if (total_connections < max_connections)
{
total_connections++;
register_connection(new_conn);
}
else
{
send_reject_msg(new_conn);
close(new_conn);
}
}
(и, конечно, уменьшите total_connections
в точке, где вы потеряете соединение).