fork() + accept() == Hum??? [RESOLVIDO]

1. fork() + accept() == Hum??? [RESOLVIDO]

Osmund Saddler
Saddler

(usa Outra)

Enviado em 12/08/2019 - 14:55h

https://stackoverflow.com/questions/1568786/fork-before-or-after-accepting-connections

Dúvida de leigo em redes, C e Sockets: Pra quê fazer fork() antes ou depois de accept()?

https://imgur.com/a/6SPSXu8


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/08/2019 - 03:13h

fork() depois do accept() é uma forma de simplificar o modelo de programação, pois você faz com que o programa, que provavelmente atende a múltiplos clientes, coloque cada conexão com um cliente específico num processo separado. Com isso, nenhum processo precisa se preocupar com ter de lidar com múltiplas conexões simultaneamente: cada um só trata do seu, como se nenhum outro cliente existisse.

fork() antes de accept() tem outra função, que é o de pré-alocar recursos para tratar conexões que venham a chegar, de forma a diminuir o tempo entre a chegada do pedido de conexão e estar pronto para se comunicar por esse canal.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)