Ich hab mich ein wenig mit Netzwerk-Programmierung beschäftigt, an vielen Seiten sieht man noch das alte verwendete, Kommunikationsmodell Wo Threads für jeden Client verwendet werden. Das endet bei mir schnell mit der Meldung keine freien Ports! Oder mit einer stehenden Anwendung, da zu-viele Threads an sind.
Die erste Lösung war ein Thread-Pool, hier ist es aber schwer, dem Client dann das hmm stehen der Verbindung mitzuteilen.
Der bessere Ansatz, war das nutzen, (seit 1.4 von SUN vorgeschlagen) nicht Blockenden IO Streams Channels Der Vorteil hier ist, es fallen die Threads weg, da die Anwengung beim lesen aus dem PORT nicht Blockt sondern halt nur mit den Daten die da sind arbeitet.
Wichtige Klassen:
- ServerSocketChannel
- Selector
- SelectionKey
Tutorial
Add new attachment
Only authorized users are allowed to upload new attachments.