Ho un'applicazione client che viene eseguita come applet Java dal browser di un utente e si connette a un server tramite una determinata porta. Il server è in esecuzione su un cloud accessibile pubblicamente. Sulla base della mia esperienza precedente di scrittura del codice socket, posso decidere un numero di porta casuale (ad esempio 5999) e usarlo per la comunicazione con il client server. Tuttavia in questo caso il client può essere qualsiasi macchina utente e ci possono essere molti utenti che accedono al server.Come decidere il numero di porta tra la comunicazione client e server su internet
Quindi la domanda è come assicurarsi di utilizzare un numero di porta che è meno probabile che venga utilizzato da qualsiasi altro servizio sul computer del cliente.
Ho anche esplorato protocolli basati su webservice per questo scopo ma non l'ho usato per il motivo che il mio requisito è molto semplice e può essere soddisfatto con una semplice comunicazione socket e un protocollo personalizzato. Sento che gli strumenti di webservice e cose come SOAP, CORBA sono troppo pesanti.
Grazie per gli input, stavo dando per scontato che il client si leghi anche su quella porta e quindi se la porta è occupata da un'altra applicazione, il client non riuscirà a comunicare. – Shyam
@TimeKeeper Non sono sicuro di questa modifica nel collegamento. Una sorta di negazione del punto che stavo cercando di fare. Sì, potrebbe esserci una lista "ufficiale", ma alla fine della giornata, ciò non significa squat. Non c'è nulla che fermi un servizio usando (più o meno) qualsiasi porta e bloccando qualche altro servizio che vorrebbe usare quella porta. Sarebbe stupido supporre che il tuo programma sarà sempre in grado di collegarsi a una determinata porta fissa da ascoltare. – thecoshman
Il tuo punto è valido e conservato con la tua frase "spero per il meglio". Tuttavia, dal momento che stiamo parlando della lista di porte conosciute, possiamo usare quella reale invece dell'approssimazione di Wikipedia, quindi il tuo suggerimento di scegliere una porta non sulla lista è più utile. –