Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen

lgplay

Mitglied
Ich möchte ein Chat Program schreiben das auch Objekte senden kann dafür brauche ich aber auch einen Server und damit ich nicht für jeden Client einen Thread erstellen lassen möchte möchte ich einen Einzelen Thread der z.b alle 5 Sekunden alle Clients und deren InputStream nach einer nachricht checkt

in etwa so:

Java:
Socket socket = new Socket("localhost");

try{
   ObjectInputStream in = new
      ObjectInputStream(socket.getInputStream); 
   ObjectOutputStream out = new 
      ObjectOutputStream(socket.getOutputStream) }catch(Exeption e){
   e.printStackTrace();
}

if(in.size > 0) // in.size ist nur eine erfundene funktion // das ist was ich fragen wollte gibt es // so eine Methode oder kann man die daten dafür irgendwie
// bekommen habs schon mit in.available probiert das gibt aber immer 0 aus mit in.readObject // funktioniert es aber. Aber damit  wartet der Thread ja immer auf //die Nachricht

Schonmal danke für eure Antworten im Voraus
 
Ich würde für sowas AsynchronousSocketChannel verwenden. Da können dann beliebig viele Clients verbunden sein und du brauchst trotzdem nur einen Thread.
 

Zurück
Oben