Следующий код работает, сервер получает строку com
, а затем соединение закрывается, если я раскомментирую bw.flush()
и следующую строку. Сервер не получает строку com больше, и он просто ждет на br.readLine()
ответа (который не получит, так как сервер не получил строку com), если я переместил bw.close()
и положил его в bw.flush()
, то br.readLine()
выкинет исключение Socket.Сокеты, BufferedWriter.flush() не отправляет данные
public static void setupClient(String[] args) throws UnknownHostException, IOException{
Socket client = new Socket(InetAddress.getLocalHost().getHostName(), Server.DEFAULT_COMMAND_PORT);
BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
BufferedReader br =new BufferedReader(new InputStreamReader(client.getInputStream()));
String com=args[0]+(args.length==2?args[1]:"");
bw.write(com);
// bw.flush();
// System.out.println("response:"+br.readLine());
bw.close();
client.close();
}