Nie wiem czemu gdy wywołuję funkcję uruchamiająca nasłuch serwera przez button aplikacja zawiesza się. Nie ma tego problemy gdy wywołują ją na rzecz obiektu w mainie:
void uruchom() throws IOException{
ConnectorS = new ServerSocket(port);
dialog.append("Serwer uruchomiony\n");
try{
while(true){
SerwerG = ConnectorS.accept();
dialog.append("Przyjęto połączenie z - "+ SerwerG +"\n");
try{
new SerwerA(SerwerG);
}catch(IOException e){
System.err.println(e.getMessage());
SerwerG.close();
}
}
}finally{
ConnectorS.close();
System.out.println("Zamykanie połączenia");
}
}
Przycisk oczywiście jest nasłuchiwany
public void actionPerformed(ActionEvent event){
Object zrodlo = (JMenuItem) event.getSource();
if(zrodlo == i1)
try{
this.uruchom();
}catch(IOException e){
System.err.println("Wyjątek w trakcie uruchmiania usługi");
};
}
Ale metoda działa tylko przy wywołaniu z funkcji main np.
Serwer s = new Serwer();
s.uruchom();