Witam . Pisze pewną aplikacje sieciową opartą na wysylaniu plików , działa ona ok ale chcialem sobie napisac funkcje do wysylania i odbierania komunikatow tak zeby byl porzadek bo przy wysylaniu pliku takze wysylal komunikatu np do serwera jak duzy jest plik i jaka jest nazwa pliku . Wydawalo mi sie to proste skopiowac kod ktory sluzy do wysylania w funkcje i juz , niestety ciagle mam problem.
public static void wyslij_komunikat(DataOutputStream komunikat_do_serw,Socket s,String tresc) throws IOException{
// {
komunikat_do_serw =
new DataOutputStream(s.getOutputStream());
komunikat_do_serw.writeBytes(tresc + '\n');
}
I SERWER
public static void obierz_komunikat(BufferedReader br,Socket s) throws IOException{
// br = new BufferedReader(new InputStreamReader(
// s.getInputStream()));///BUFOR
// String komunikat = br.readLine();
br = new BufferedReader(new
InputStreamReader(s.getInputStream()));
String komunikat = br.readLine();
System.out.println(komunikat);
}
BŁĄD mam taki
Exception in thread "main" java.net.SocketException:Socket is closed at java.net.Socket.getOutputStream<Unknown Source> at Klient.wyslij_komunikatKlient.java:30
Wczesniej uzywalem Printstream ale tez był bład oczywiscie sockety zamykam na samym koncu a bład w linijce
new DataOutputStream(s.getOutputStream());
Nie wiem o co w tym chodzi.