Habe hier aus diesem FAQ den Code übernommen und etwas verändert:
http://www.java-forum.org/de/viewtopic.php?t=6033&highlight=mehrere+verbindungen
	
	
	
	
	
		
	
	
	
	
	
	
		
	
Nun erscheint dieser Fehler sobald ein Client einen String schickt:
An was liegt das? Ich weis, dass beim Aufruf server.addClient(name, this) das Objekt "this" nicht referenziert wird, aber warum?
			
			http://www.java-forum.org/de/viewtopic.php?t=6033&highlight=mehrere+verbindungen
		Code:
	
	import java.io.*;
import java.net.*;
import java.util.*;
	
public class Server{
	
	private Hashtable clients;
	private int port = 3141;
	Server(){
	}
	
	Server(int port){
		this.port = port;
		clients = new Hashtable();
	}
	
	public void addClient(String name, ServerThread t){
		clients.put(name, t);
	}
	
	public void removeClient(String name){
		clients.remove(name);
	}
	
	public void send(String name, String msg) throws IOException{
		for(Enumeration e = clients.keys();e.hasMoreElements(); ){
			((ServerThread) clients.get((String) e.nextElement())).send(name + ": " + msg);
		}
	} 
	public void start() throws IOException{		
		ServerSocket server = new ServerSocket(port);
		System.out.println("Server gestartet...");     	
      	while (true) {
         	Socket client = server.accept();
         	ServerThread t = new ServerThread(client, this);
         	t.start();
      	}   	
	}
	
	public static void main(String [] args) throws IOException{
		Server server = new Server();
		server.start();
	}
}
		Code:
	
	import java.io.*;
import java.net.*;
import java.util.*;
	
public class ServerThread extends Thread{
	
	private Server server;
	private Socket client;
	private BufferedWriter out;
	
	public ServerThread(Socket client, Server server){
		this.server = server;
		this.client = client;
	}
		
	public void run(){
		BufferedReader in;
		String name, msg;
		try{
			//InputStream
        	in = new BufferedReader(new InputStreamReader(client.getInputStream()));
        	//OutputStream
        	out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));        	
        	//
			name = in.readLine();         
        	server.addClient(name, this);
        	System.out.println("+ Client " + name + " hat sich angemeldet!");         
        	for (String buffer; (buffer = in.readLine()) != null; ) {
        		msg = in.readLine();
            	server.send(name, msg);
            	System.out.println(">Client " + name + " schreibt an: " + msg);            	
        	}
        	server.removeClient(name);
        	System.out.println("- Client " + name + " hat sich abgemeldet!");
			//
			
			// aufräumen
			out.close();
			in.close();
        	client.close();
		}
		catch(IOException e){
			System.err.println(e);
		}
    }
    
   public void send(String msg) throws IOException {
      	out.write(msg);
      	out.newLine();
      	out.flush();
   }
    
}Nun erscheint dieser Fehler sobald ein Client einen String schickt:
Exception in thread "Thread-1" java.lang.NullPointerException
at Server.addClient(Server.java:19)
at ServerThread.run(ServerThread.java:27)
An was liegt das? Ich weis, dass beim Aufruf server.addClient(name, this) das Objekt "this" nicht referenziert wird, aber warum?
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		