O que acontece com a conexão TCP e UDP (com multicast) quando um aplicativo iOS entra em segundo plano

Eu criei algumas experiências:

Configuração 1: Criei um aplicativo TCP Sender e um aplicativo Receptor TC

Para esta experiência, iniciei o TCP Sender em um dispositivo iOS e o Receptor TCP em outro dispositivo iOS. E então ambos são verificados como tendo feito conexão e enviando e recebendo dados. Em seguida, coloco o aplicativo Receptor TCP em segundo plano. O aplicativo TCP Sender indicou perda de conexão e travou (sim, pretendi dessa maneira

Configuração 2: Criei um aplicativo UDP Sender e um aplicativo UDP Receive

Da mesma forma que acima, iniciei o aplicativo UDP Sender em um dispositivo iOS e o aplicativo UDP Receiver em outro dispositivo iOS. No aplicativo UDP Receiver, inscrevi-me em um grupo multicast etc. Verifiquei que o aplicativo UDP Receiver está recebendo os dados desse grupo multicast enviado pelo aplicativo UDP Sender. Em seguida, coloco o aplicativo UDP Receiver em segundo plano. Após 2 minutos, eu recebo o aplicativo UDP Sender para enviar outro dado. Encerrei o aplicativo UDP Sender completamente e desliguei o dispositivo iOS. Aguardo por mais 2 minutos ou mais e, em segundo plano, trago o aplicativo UDP Receiver. O aplicativo UDP Receiver recebeu os dados que foram enviados pelo aplicativo UDP Sender antes de serem finalizado

Na configuração1, minha explicação é porque o TCP é orientado à conexã

No setup2, eu entendo que o UDP não tem conexão. Alguma explicação para por que o setup2 funcionou da mesma maneira em minha experiência? (Ainda está recebendo dados mesmo no modo de segundo plano)

questionAnswers(4)

yourAnswerToTheQuestion