Se voglio creare un'applicazione per trasferire file tra client e server, deve utilizzare la porta 21?

1

Sto seguendo un corso introduttivo di networking e uno dei primi compiti è quello di creare una semplice applicazione per il trasferimento di file usando socket API e TCP o UDP. C'è un server e un client. Il client può connettersi al server e richiedere di ottenere file dal server e memorizzarli localmente. Il client può anche inviare file locali per memorizzarli sul server. (nota a margine: non sono sicuro che si tratti di informazioni pertinenti, ma credo che i file trasferiti siano normali file di testo)

Mentre leggevo un libro di testo, mi sono imbattuto in informazioni sulla "porta 21" e su come il File Transfer Protocol (FTP) è assegnato a quel numero di porta. Non so molto su FTP, ma la mia applicazione sarà "trasferimento di file".

Pertanto, la mia domanda è: dovrò impostare il mio programma per usare "Port 21" o posso usare qualsiasi numero di porta? Se posso usare qualsiasi numero di porta, è più corretto usare la porta 21?

    
posta Shawn 18.09.2015 - 18:35
fonte

1 risposta

7

FTP è un tipo specifico di sistema di trasferimento ed è definito da un documento standard (RFC 959). A meno che non pianifichi di implementare RFC 959 , il tuo sistema di trasferimento file non sarà FTP e non dovrebbe essere sulla porta 21.

In effetti, qualsiasi cosa fino alla 1023 compresa la porta è riservata a quei tipi di protocolli noti. Le porte 1024 e superiori sono tecnicamente un gioco leale per applicazioni personalizzate come la tua, ma ci sono molti numeri di porta registrati nell'intervallo 1024-49151 e potresti scontrarti in un conflitto se lo scegli a caso.

Invece, assegnerei alla tua applicazione una porta superiore a 49151. In genere dovresti essere al sicuro lì.

    
risposta data 18.09.2015 - 18:43
fonte

Leggi altre domande sui tag