Domanda

ho intenzione di costruire alcuni programmi in Java che sfruttano la classi ServerSocket e Socket. Ho il codice costruito in modo corretto, e posso fare i collegamenti in modo corretto. Tuttavia, voglio rendere il più semplice per l'utente il più possibile quando si tratta di fare le connessioni e server. Così, ho bisogno di un metodo per porto avanti da dentro Java, in modo che i miei programmi possono costruire server su un computer client e comunicare con altre macchine attraverso Internet, ma l'utente del programma non ha bisogno di mettere in qualsiasi sforzo supplementare. C'è un modo efficace per eseguire questo senza accedere tutti i programmi esterni che avrebbe bisogno di essere scaricato?

È stato utile?

Soluzione

È possibile utilizzare questo piccolo progetto .

Nota: macchine client sono di solito dietro gateway NAT così altre macchine su Internet non possono accedere direttamente.

Altri suggerimenti

Che dire solo piping la connessione in ingresso per il collegamento di uscita?

Se si recupera sia InputStream e OutputStream di entrambe le prese è possibile utilizzare un PipedInputStream e un PipedOutputStream per connettere due prese differenti e in avanti la connessione. Vedere la documentazione qui e qui .

Se il server si trova dietro un NAT o un firewall, e non si desidera utilizzare un tipo man-in-the-middle per facilitare la connessione, quindi sta andando essere piuttosto difficile. Vi suggerisco di guardare in NAT perforazione , e in particolare in qualche open-source implementazione di Java come Rodi .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top