我正在为聊天室编写程序 在客户端我有wirtten
clientSocket = new Socket('127.0.0.1',5432);
socketInputBuffer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
socketOutputBuffer = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
systemBuffer = new BufferedReader(new InputStreamReader(System.in));
并在服务器端
sock = new ServerSocket(5432)
;
和socketinputbuffer
以及socketoutputbuffer
现在在上面的代码连接正确建立之后,从服务器端我写入套接字流,我将在客户端上阅读。
但客户端等待服务器完成其写入。但是当我在服务器上使用shutdownoutput时它会写入并且客户端能够正确读取,但是当客户端写入时会发生同样的问题。 所以我也在客户端使用了shutdown输出。因为我无法在下次发送数据时请提示我任何方法,以便客户端和服务器正常工作
我正在写作 [码] socketOutputBuffer.write(“输入你的名字”); socketOutputBuffer.flush(); [/码] 仍然没有工作。
答案 0 :(得分:0)
以下是一个快速代码示例:
答案 1 :(得分:0)
要在不关闭连接的情况下将数据发送到客户端,请在BufferedWriter上使用flush方法。 此外,您需要显示您是如何进行读/写操作的。您可能正在使用阻塞方法,在这种情况下,客户端将等待它从服务器接收数据以在线程中进行。您可以将代码拆分为两个线程 - 一个写入服务器的线程和一个从服务器读取的线程,或者您可以使用Java NIO。您可以使用this project作为基线。
答案 2 :(得分:0)
尝试使用flush()
方法在不关闭连接的情况下发送数据。