Hi, napisałem w Javie prosty serwer i klienta. Chciałbym abym z serwera mógł przesyłać dane do klienta dopóki nie wprowadzę litery "q". Problem w tym, że w kodzie serwera nie działa wczytywanie teksu, który chcę przesłać do klienta.
serwer:
import java.net.*;
import java.io.*;
class MainServer {
public MainServer() {
try {
try {
sock = new ServerSocket(14500);
} catch (IOException e) {
System.out.println("Nie powiodlo utworzenie gniazda");
}
try {
conn = sock.accept();
} catch (IOException e) {
System.out.println("Nie mona nawiazac polaczenia");
}
System.out.println("24");
out = conn.getOutputStream();
if (out != null) {
save = new PrintWriter(out);
}
if (save != null) {
java.util.Scanner sc = new java.util.Scanner(System.in);
while(true) {
String s = sc.next();
if (!s.equals("q"))
save.print(s);
else
break;
}
}
save.close();
out.close();
try {
sock.close();
} catch (IOException e) {
}
} catch (IOException ex) {
}
}
private ServerSocket sock;
private Socket conn = null;
private OutputStream out;
private PrintWriter save;
}
public class Server {
public static void main(String[] args) {
MainServer s = new MainServer();
}
}
Nie dostałem żadnych błędów, serwer i klient uruchamiają się bez błędów. Niestety serwer nie robi tego co bym chciał.
klient:
import java.net.*;
import java.io.*;
class ClientServer {
public ClientServer() {
try {
try {
try {
soc = new Socket("localhost", 14500);
} catch (UnknownHostException ex) {
} catch (IOException ex) {
}
try {
in = null;
in = soc.getInputStream();
} catch (IOException ex) {
}
if (in != null) {
while(true) {
if (msg != null)
System.out.println(msg);
else continue;
}
}
scanner.close();
in.close();
} catch (IOException ex) {
}
soc.close();
} catch (IOException ex) {}
}
private Socket soc;
private InputStream in;
private BufferedReader scanner;
private String msg;
}
public class Main {
public static void main(String[] args) {
ClientServer cs = new ClientServer();
}
}
Będę wdzięczny za pomoc.