所以我想使用BufferedReader和BufferedWriter製作服務器/客戶端解決方案,但它不會工作!只使用DataInputStream和DataOutputStream工作得很好,但沒有用Buffered對象打印出來。我的錯誤在哪裏?套接字:BufferedReader/InputStream&BufferedWriter/OutputStream將不起作用
public class TServer {
static final int PORT = 8001;
static final int QUEUE = 50;
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(PORT, QUEUE)) {
Socket socket = serverSocket.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
System.out.println(input.readLine());
output.write("this is the server!");
output.flush();
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
public class TClient {
static final String HOST = "localhost";
static final int PORT = 8001;
public static void main(String[] args) {
try (Socket socket = new Socket(HOST, PORT)) {
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
output.write("this is the client");
output.flush();
System.out.println(input.readLine());
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
http://sourceforge.net/p/tus/code/HEAD/tree/tjacobs/io/ServerSocketEx.java#l165可能對您有所幫助 – ControlAltDel