Estou escrevendo um programa simples de cliente TCP e soquete de servidor em C.
O que não entendo é o seguinte: no meu código de cliente, parece que ter um único soquete para receber e enviar é adequado.
Mas no código do meu servidor, preciso ter dois soquetes: um soquete para aceitar a conexão e outro diferente para enviar pacotes ao cliente.
Não entendo como isso faz sentido. Se posso ENVIAR e RECEBER no lado A usando um único soquete, por que não posso fazer o mesmo no lado B?