carookee - group communication for you
Home / JavaForum / Networking
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.745 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 314 von 610 (51%) |<   <   >   >|

Autor hajo sygusch
Datum 23.11.01, 00:15
Betreff Mehrere Clients


Hi
ich habe mir ein Client-Server gebaut, man kann nun im Dos-fenster mit einander Strings hin und herschicken( so ne Art einfacher chat).
jetzt möchte ich aber das mehrere clients auf den server strings schicken können.
die anzahl der der maximalen clients ist 4.
wie kann man das implementieren???

hier mein Server-code:
/*
* Server-Client-Chat
*
* Server-Version
*
* @version 1.0
* @date 16.11.2001
* @author Hajo Sygusch
*/


import java.io.*;
import java.net.*;


public class Server extends Thread
{
    Socket clientSocket = null;
    
    PrintWriter zumClient = null;
    
    BufferedReader vomClient = null;
    String kommando;
    
    boolean warten = false;
    boolean online = true;
    
    
    
    
    /*
    * Methode run() wird vom interface Runnable gefordert
    *
    * startet den nebenläufigen Prozess
    * liest ständig vom Client ankommende Strings ein
    *
    * @param -
    * @return -
    */

    
    
    public void run()
    {
        System.out.println("Warten auf eingehende Client-Strings...");
        //solange man online ist,werden Client-Eingänge überprüft
        while(online) {
            try {
                kommando = vomClient.readLine();
                } catch (IOException e) {
                System.out.println("Fehler beim Lesen des Eingabe-Stream vom Client!");
            }
            if(kommando != null) {
                System.out.println("Client schrieb: "+kommando);
            }
        }
    }
    
    public static void main(String[] args) throws IOException
    {
        
        Server server = new Server();
        server.connection();
        server.start();
        server.chat();
        
    }
    
    
    /*
    * Methode connection() stellt Verbindung für den Client bereit
    *
    * @param -
    * @return -
    */

    
    public void connection() throws IOException
    {
        //Socket herstellen
        ServerSocket serverSocket = new ServerSocket(1100);
        
        //wartet auf das Einloggen des Clients
        clientSocket=serverSocket.accept();
        System.out.println("Start: Server...\n");
    }
    
    
    /*
    * Methode chat() liest ständig Strings von der Console
    * und sendet sie an den Server
    *
    * @param -
    * @return -
    */

    
    public void chat() throws IOException
    {
        
        
        zumClient = new PrintWriter(clientSocket.getOutputStream(),true);
        
        vomClient = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        
        //Eingabe-Stream von der Console initialisieren
        BufferedReader ein = new BufferedReader(new InputStreamReader(System.in));
        
        
        while (online) {
            
            String nachricht = ein.readLine();
            zumClient.println(nachricht);
            
            
        }// while
    }// main
}// class Server


und noch mein Client:
/*
* Server-Client-Chat
*
* Client-Version
*
* @version 1.0
* @date 16.11.2001
* @author Hajo Sygusch
*/


import java.io.*;
import java.net.*;

public class Client extends Thread
{
    
    Socket socket = null;
    
    PrintWriter zumServer;
    BufferedReader vomServer;
    
    
    String empfangen;
    String senden;
    
    boolean online = true;
    
    
    /*
    * Methode run() wird vom interface Runnable gefordert
    *
    * startet den nebenläufigen Prozess
    * liest ständig vom Server ankommende Strings ein
    *
    * @param -
    * @return -
    */

    
    public void run()
    {
        
        System.out.println("Client erwartet Eingabe-Strings vom Server...");
        while (online) {
            try {
                empfangen = vomServer.readLine();
                } catch (IOException e) {
                System.out.println("Fehler beim Empfang des Server-Strings");
            }
            if(empfangen != null) {
                System.out.println("Der Server schrieb: "+empfangen);
            }
        }//while
    }
    
    
    public static void main(String args[]) throws IOException
    {
        Client client = new Client();
        client.connection();
        client.start();
        client.chat();
    }
    
    
    /*
    * Methode connection() öffenet Verbindung zum Server
    *
    * @param -
    * @return -
    */

    
    public void connection() throws UnknownHostException
    {
        //Socket zum server öffnen
        try {
            socket = new Socket("localhost",1100);
            } catch (IOException e){
            System.out.println("Kein Server gefunden");
        }
        System.out.println("Verbindung steht...");
    }
    
    
    /*
    * Methode chat() liest ständig Strings von der Console
    * und sendet sie an den Server
    *
    * @param -
    * @return -
    */

    
    public void chat() throws IOException
    {
        //Eingabe-Stream vom Server initialisieren
        InputStreamReader inputstream = new InputStreamReader(socket.getInputStream());
        vomServer = new BufferedReader(inputstream);
        
        //Ausgabe-Stream zum Server initialisieren
        zumServer = new PrintWriter(socket.getOutputStream(),true);
        
        //Eingabe-Stream von der Console initialisieren
        BufferedReader ein = new BufferedReader(new InputStreamReader(System.in));
        
        while (online) {
            //Einlesen von der Console
            senden = ein.readLine();
            //senden der Eingabe an den Server
            zumServer.println(senden);
        }//while
        
    }
}

vielen dank schon im vorraus


Diskussionsverlauf:
Mehrere Clients
    Re: Mehrere Clients

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com