Witam
Mam mały problem z obsługą Socket, wszystko jest ogolnie cacy - komunikator łączy się i wysyła wiadomość server<->client, ale niestety po wysłaniu tej jednej wiadomości gniazdo sie zamyka i trzeba od nowa się łączyć. Proszę o wytknięcie błędu w kodzie lub w myśleniu (gorzej jak to i to będzie:D).
bWait.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent zdarzenia)
{
tInfo.append("Oczekiwanie na połączenie...\n");
new Thread(
new Runnable()
{
public void run(){
try { konnect = 1;
socket = server.accept();
if(socket.isConnected()){
tInfo.append("Nawiązano połączenie\n");
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
try {
message = (String) ois.readObject();
} catch (ClassNotFoundException ex) {
tInfo.append("Błąd odczytu wiadomości\n");
}
tMessage.append("Kient: "+message+"\n");}
} catch (IOException e) {
e.printStackTrace();
}}
}).start();
}
});
// wysylanie wiadomosci
bSend.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent zdarzenia)
{
if(socket.isBound()){
try{
tMessage.append("Serwer: "+tSend.getText()+"\n");
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(tSend.getText());
}catch (IOException e){ tInfo.append("Wiadomość nie została wysłana\n");}
} else tInfo.append("Brak połączenia\n");
}
});