Thread Socket nur lesen (5 answers)
Opened by Gast at 2007-06-13 17:21

red
 2007-06-14 22:43
#37580 #37580
User since
2007-06-14
2 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hmmm aber mit Java kann ich so viele Clients starten wie ich will und alles funktioniert bestens!

so erklärung schleife jeder neue Client bekommt ein eigenes Thread.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public ClientHaendler(Socket clientsocket, ArrayList clientausgabe) {
       System.out.println("Neuer Client wird verbunden...");
       try {
           this.clientausgabe = clientausgabe;
           socket = clientsocket;
           InputStreamReader isReader = new InputStreamReader(socket.getInputStream());
           reader = new BufferedReader(isReader);
       } catch (Exception e) {
           System.out.println("Client konnte nicht verbunden werden!");
       }
   }

   public void run() {
       String nachricht;
       
       try {
           while((nachricht = reader.readLine()) != null) {
           System.out.println(nachricht);
           nachrichtVerteilen(nachricht);
           }
       } catch(Exception e) {
           System.out.println("Fehler beim Lesen von einer Nachricht!");
       }
   }
   
   public void nachrichtVerteilen(String nachricht) {
       Iterator iterator = clientausgabe.iterator();
       while(iterator.hasNext()) {
           try {
               PrintWriter writer = (PrintWriter) iterator.next();
               writer.println(nachricht);
               writer.flush();;
           } catch (Exception e) {
               System.out.println("Fehler beim verteilen der Nachricht!");
           }
       }
   }



wenn ich mich mit putty verbinde steht immer da Neuer Client wird verbunden...

also gehe ich nicht davon aus das es vorher was ist und der rest ist relativ selbst erklärend

View full thread Socket nur lesen