Come posso implementare un server UDP basato su thread in Java?Come posso implementare un server UDP basato su thread in Java?
Fondamentalmente quello che voglio è connettere più client al server e lasciare che ogni client abbia il suo thread. L'unico problema è che non so come verificare se un client sta tentando di connettersi al server e generare un nuovo thread per esso.
boolean listening = true;
System.out.println("Server started.");
while (listening)
new ServerThread().start();
In questo caso il server genera nuovi thread fino a esaurimento della memoria. Ecco il codice per la ServerThread (penso che ho bisogno qui un meccanismo che bancarelle la creazione del ServerThread fino a quando un client tenta di connettersi.
public ServerThread(String name) throws IOException
{
super(name);
socket = new DatagramSocket();
}
Così padri di programmazione Java prega di aiuto.
Questo mi odora di compiti a casa. –
So che questo è un vecchio Q, ma quello che hai fatto era loop durante l'ascolto, creando ogni volta nuovi DatagramSocket, il più velocemente possibile dal tuo sistema. Alla fine si esaurirà completamente la memoria. – garlicman
Questa è una buona domanda che merita una risposta utilizzando ExecutorService. – JohnMerlino