hej,

mam problem z tym, aby wiadomosci od klienta i servera pojawialy sie niezaleznie od siebie, tzn. od wyslania wiadomosci od drugiego rozmowcy, a tak sie dzieje teraz. Bardzo prosze o sugestie gdzie tkwi blad :] (domyslam sie ze w tym, ze umieszczam wyswietlanie komunikatu w petli oczekujacej na wyslanie swojego, ale wyrzucenie tego poza nia nie dziala)

Klient:

import java.net.*;
import java.io.*;

public class Client {

	public static int port = 9994;
	public static String hostname = "hostname";

	public static void main(String[] args) throws IOException {

		Socket server = null;
		PrintWriter output = null;
		BufferedReader input = null;

		try {
			server = new Socket(hostname, port);
			output = new PrintWriter(server.getOutputStream(), true);
			input = new BufferedReader(new InputStreamReader(server.getInputStream()));
		
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	
		BufferedReader stdInput = new BufferedReader(new InputStreamReader(System.in));
	
		String msg;
		
		while ((msg = stdInput.readLine()) != null) {
			output.println(msg);		
			System.out.println("server: " + input.readLine());
		}	
		
		output.close();
		input.close();
		stdInput.close();
		server.close();

	}
}


Serwer:

import java.net.*;
import java.io.*;

public class Server {

	public static int port = 9994;

	public static void main(String[] args) throws IOException {

		ServerSocket server = null;
		
		try {
			server = new ServerSocket(port);

		} catch (IOException e) {
			e.printStackTrace();
		}

		Socket client = null;
		
		try {
			client = server.accept();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		PrintWriter output = new PrintWriter(client.getOutputStream(),true);
		BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));

		BufferedReader stdInput = new BufferedReader(new InputStreamReader(System.in));
		
		String msg;

		while ((msg = stdInput.readLine()) != null) {
			output.println(msg);
			
			System.out.println("client: " + input.readLine());
		}
		
		output.close();
		input.close();
		client.close();
		server.close();
		
		}

}