Witam
Mam problem z zastosowaniem Socket i ServerSocket(tworzę komunikator), a konkretnie nie mogę wykminić jak napisać - aby po kliknięciu na przycisk Connect server oczekiwał na połączenie i mógł przesyłać info. do klienta.

  bWait.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent zdarzenia)
            {
                        bWait.setVisible(false);
                        bclose.setVisible(true);
                try {
                    server = new ServerSocket(Integer.parseInt(tPort.getText()));
                    tInfo.append("Serwer startuje na hoscie "+InetAddress.getLocalHost().getHostName()
                            +"\nPort: "+tPort.getText()+
                            "  Adres: "+InetAddress.getLocalHost().getHostAddress()+"\n");
                   
                } catch (IOException ex) {
                    tInfo.append("Błąd utworzenia serwera\n");
                }
                     new Thread(new Runnable()
                     {

                         public void run(){
                         try {String s = InetAddress.getLocalHost().getHostAddress();
                socket = new Socket(s, 5000);
                socket = server.accept();
                out = new ObjectOutputStream(socket.getOutputStream());
                input = new ObjectInputStream(socket.getInputStream());
              } catch (UnknownHostException ex) {
                 tInfo.append("Adres hosta nie został pobrany");
              } catch (IOException ex) {
                tInfo.append("Gniazdo nie zostało utworzone");
                }}}).start();
                        
            }
        });

Kod wyżej tworzy serwer, ale odbiór informacji od klienta nie działa. Proszę o wytknięcie błędów i o wskazówki jak to poprawnie zrealizować.