Próbuję napisać prosty program sieciowy.
Nie ma żadnych błędów, tylko że klient odbiera "null" a powinno być "Witaj kliencie".
Dlaczego? Proszę o pomoc :)
Oto kod:
Serwer:
import java.io.*;
import java.net.*;
public class Serwer {
public static void main(String[] args) {
ServerSocket gniazdo = null;
try {
gniazdo = new ServerSocket(8866);
} catch (IOException e) {System.out.println("Nie można utworzyć gniazda serwera");}
Socket połączenie = null;
try {
połączenie = gniazdo.accept();
} catch (IOException e) {System.out.println("Nie można nawiązać połączenia z klientem");}
OutputStream wy = null;
try {
wy = połączenie.getOutputStream();
} catch (IOException e1) {System.out.println("Nie można pobrać strumienia wejściowego");}
PrintWriter zapis = null;
if (wy != null) zapis = new PrintWriter(wy);
try {
if (zapis != null) zapis.print("Witaj kliencie!");
}catch (Exception e) {System.out.println("Nie można do strumienia wyjściowego zapisać danych.");}
try {
połączenie.close();
} catch (IOException e) {System.out.println("Nie można zamknąć połączenia");}
}
}
Klient:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
public class Klient {
static Socket gniazdo = null;
public static void main(String[] args) {
try {
gniazdo = new Socket("localhost", 8866);
} catch (IOException e) {System.out.println("Nie można utworzyć gniazda klienta");}
InputStream we = null;
try {
we = gniazdo.getInputStream();
} catch (IOException e) {System.out.println("Nie można pobrać strumienia wejściowego");}
BufferedReader odczyt = null;
if (we != null) {
odczyt = new BufferedReader(new InputStreamReader(we));
}
try {
if(odczyt != null) {
String tekst = odczyt.readLine();
System.out.println("Serwer: " + tekst);
}
} catch (IOException e) {System.out.println("Nie można odczytać danych z serwera");}
try {
odczyt.close();
we.close();
}catch (IOException e) {System.out.println("Nie można zamknąć strumieni wejściowych");}
try {
gniazdo.close();
} catch (IOException e) {System.out.println("Nie można zamknąć gniazda sieciowego klienta");}
}
}