Ошибка при отправке байтов в java: буферизованный ридер и поток ввода - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь отправить строку json с клиента на сервер. Кажется, код правильно отправляет строку с клиента, но сервер не получит код и не распечатает результаты. Что я делаю не так?

        InputStream inp;
        PrintStream ps = null;

        while(true){
         try{
        ps = new PrintStream(socket.getOutputStream()); 
        inp = socket.getInputStream();
        brinp = new BufferedReader(new InputStreamReader(inp));
        System.out.println("hello"); //This works
         String input = brinp.readLine();
         System.out.println(input); //Nothing is printed here

         }
         catch(IOException e){
             System.out.println(e);
         }
        }

Это мой код на стороне сервера

//Socket s was initialized above
BufferedReader br;
DataOutputStream dos;
                try {
                    dos = new DataOutputStream(s.getOutputStream());
                    br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                    PatientStructure patient = new PatientStructure((int) (Math.random() * 10 + 1),
                            textFieldFirstName.getText(), textFieldLastName.getText(), new String[1]);
                    String sendString = gson.toJson(patient);
                    dos.writeBytes(sendString);
                    System.out.println("hello"); //This runs so my guess is that the above line has worked correctly

                    /**if (br.readLine().equals("ACCEPTED"))
                        dos.writeBytes(sendString + "/n");
                    else
                        System.out.println("Error");**/
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

Обе программы подключены к одному сокету, и проблема в этих линиях. Заранее спасибо:)

...