Ближайшее, что вы можете получить - это listen()
, accept()
и close()
за один шаг.Это должно обеспечить тот же общий эффект, что и отставание в ноль, за исключением того, что вы должны заново создавать и привязывать сокет каждый раз.
int accept_one(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
{
int result;
result = listen(sockfd, 1);
if (result >= 0)
result = accept(sockfd, addr, addrlen);
close(sockfd);
return result;
}
Хотя я не уверен, зачем вам это нужно.*