Citando this socket tutorial:passivi e attivi prese
Sockets sono di due tipi principali. Una presa attivo è collegato ad una presa remota attiva tramite una connessione dati aperte connessione ... Un socket passivo è non connesso, ma piuttosto attende una connessione in ingresso , che generare una nuova presa attiva dopo una connessione è stabilito ...
ciascuna porta può avere un singolo socket passivo binded ad esso, in attesa connessioni in entrata e prese multiple attive, ciascuna corrispondente ad un connessione aperta sulla porta. E 'come se l'operaio è in attesa di nuovi messaggi per arrivare (egli rappresenta il socket passivo), e quando uno messaggio arriva da un nuovo mittente, ha inizia una corrispondenza (una connessione ) con loro da delegante qualcun altro (un socket attivo ) per leggere effettivamente il pacchetto e rispondere al mittente se è necessario . Ciò consente al lavoratore di fabbrica di essere libero di ricevere nuovi pacchetti . ...
Poi il tutorial spiega che, dopo una connessione viene stabilita, la presa attiva continua la ricezione dei dati finché non ci sono altri byte, e quindi chiude la connessione.
Ciò che non ho capito è questo: supponiamo che ci sia una connessione in ingresso alla porta e che il mittente voglia inviare alcuni piccoli dati ogni 20 minuti. Se il socket attivo chiude la connessione quando non ci sono byte rimanenti, il mittente deve riconnettersi alla porta ogni volta che vuole inviare i dati? Come manteniamo una connessione una volta stabilita per un tempo più lungo? Puoi dirmi cosa mi manca qui?
La seconda domanda è: chi stabilisce il limite delle prese attive che funzionano contemporaneamente?
Stai parafrasando quell'articolo e prendi pezzi da diverse sezioni dell'articolo. I contesti sono diversi. Nell'ultima sezione l'autore sta spiegando il suo programma. Le prese non funzionano così di default, infatti se si dimentica di chiudere il socket, le cose brutte possono accadere. Il socket non si chiude automaticamente quando riceve l'ultimo byte. – SRM
OK, ho pensato che fosse la convention e ho solo chiesto cosa mi manca qui. Sono nuovo per i concetti ed è per questo che voglio mettere in discussione tutto ciò che trovo difficile da capire. – aslisabanci
Nessun problema, volevo solo assicurarmi che capissi che devi chiudere esplicitamente il socket. Potrebbe salvarti qualche mal di testa lungo la linea quando ti grattano la testa cercando di capire perché la presa non si chiude :). – SRM