No właśnie - mam napisać coś takiego = serwer odbiera wiadomosc od klienta, a nastepnie wysyla ja do wszystkich podlaczonych klientow. Klient mi dziala, bo z serwerem znalezionym w sieci sie komunikuje. Problem jest z serwerem - ani nie czyta od klienta, ani nie wysyla odebranej wiadomosci wszystkim polaczonym klientom:( Prosze o pomoc.

import java.io.*;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;

public class Server {

    public static Socket[] klienci = new Socket[10];
    public static int aktualnyKlient_NR = 0;

    public static void main(String argv[]) throws IOException {

        for (int i = 0; i < 10; i++) {
            Server.klienci[i] = null;
        }

        ServerSocket ss = new ServerSocket(1234);
        System.out.println("starting...");

        while (true) {

            klienci[aktualnyKlient_NR] = ss.accept();
            new ServerConnection(aktualnyKlient_NR).start();
            System.out.println("new connection");
            aktualnyKlient_NR++;
        }
    }
}

class ServerConnection extends Thread {

    int aktualnyKlient_NR;
    private DataOutputStream dout[] = null;
    private DataInputStream din = null;

    ServerConnection(int aktualnyKlient_NR) throws SocketException {

        this.aktualnyKlient_NR = aktualnyKlient_NR;
        setPriority(NORM_PRIORITY - 1);
    }

    @Override
    public void run() {

        boolean connection = true; // connection tester for current client

        try {
            while (connection) {

                for (int i = 0; i < aktualnyKlient_NR; i++) {
                    dout[i] = new DataOutputStream(Server.klienci[i].getOutputStream());
                }
                din = new DataInputStream(Server.klienci[aktualnyKlient_NR-1].getInputStream());

                while (1 == 1) {

                    String s = din.readUTF();
                    s = s.trim();

                    if (s.startsWith("EXIT")) {

                        //informuj wszystkich, ze uciekl 1 klient
                        for (int i = 0; i < aktualnyKlient_NR; i++) {
                            dout[i].writeUTF("UCIEKL 1 KLIENT");
                            dout[i].flush();
                        }
                        Server.klienci[aktualnyKlient_NR].close();
                        System.out.println("PAPA, KLIENCIE");


                    } else if (s.startsWith("ADD")) {

                        //informuj wszystkich, ze przyszedl 1 klient
                        for (int i = 0; i < aktualnyKlient_NR; i++) {
                            dout[i].writeUTF("PRZYSZEDL  1 KLIENT");
                            dout[i].flush();
                        }
                    } else {
                        //informuj wszystkich, ze przyszedl 1 klient
                        for (int i = 0; i < aktualnyKlient_NR; i++) {
                            dout[i].writeUTF("KTOS NAPISAL: " + s);
                            dout[i].flush();
                        }

                    }


                }//while connected
            }//while true

        } catch (IOException e) {
            System.out.println("I/O error " + e);
            Server.aktualnyKlient_NR--;
            System.out.println("ILE KLIENTOW " + Server.aktualnyKlient_NR);
        }
    }
}