ein Thread pro Stream

komplexor

Mitglied
Hallo,

habe bereits im Forum gesucht, aber nicht das passende gefunden. Ich möchte gerne mehrer Streams gleichzeitig empfangen, bzw. auf eingehende Streams lauschen. Dazu soll immer eine SocketConnection mit dem endprechenden Port für den Stream in einem eigenen Thread starten.
Hatte mir gedacht die Threads mittels einer for-schleife erzeugen zulassen, bei dem die zu inkrementierende Variable den Port darstellt.
Wie kann ich das realisieren. Füge mal mein bisheriges Projekt an und hoffe auf unterstützung
Java:
public class EpochLog {
	private String host = "192.168.0.135";

	public EpochAndSatLog(){
		
		while (!Thread.currentThread().isAlive()) {

			for (int i=33333; i<=33339; i++) {
				new SocketConnection(host, i);
			}
		}
	}

Java:
public class SocketConnection extends Thread {
	private Socket socket;

	public SocketConnection(String pHost, int pPort) {
		this.host = pHost;
		this.port = pPort;
                start();
	}

	@Override
	public void run() {
		try {
			socket = new Socket(host, port);
			readStream(socket);
		} catch (IOException e) {
			System.err.println("Fehler in connectSocket, Host " + host
					+ " oder Port " + port + " nicht gefunden");
			return;
		}
	}
        public void readStream(Socket s) {
             bla...bla...
        }
}
 
die Kombination Thread.currentThread().isAlive() dürfte nie Sinn machen,
wenn ein Thread selber gerade Code ausführt, ist er immer noch alive,
nur bei anderen Thread-Objekten lohnt es sich, danach zu fragen

eine richtige Frage von dir wird auch nicht unbedingt klar, geht es allgemein um das Handling mehrerer Clients auf einem Server?
http://www.java-forum.org/java-basics-anfaenger-themen/117379-mehrere-clients-server.html

obwohl, du startest ja eher mehrere Clients, die je für sich einen Socket aufmachen, sieht gar nicht so schlecht aus,
funktioniert etwas nicht?
 

Neue Themen


Zurück
Oben