Сервер читает только заголовки сообщения - PullRequest
0 голосов
/ 26 мая 2020

Я новичок в сетевой области. Я пытаюсь создать сервер, который будет получать SMS с моего телефона. SMS включает строку «time_stamp, msg ....». Проблема в том, что я могу видеть только заголовки сообщения, а не само сообщение, если я не отключу сервер, и тогда он не появится. Я использовал идеи Scanner и BufferReader, но результаты были те же.

Socket connectionSocket = serverSocket.accept();
                System.out.println("received sms");
                //Create Input&Outputstreams for the connection
                InputStream inputToServer = connectionSocket.getInputStream();
                OutputStream outputFromServer = connectionSocket.getOutputStream();


                boolean done = false;
                String imsi = "";
                String sms_message = "";

                try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()))) {
                    while(!done) {// && scanner.hasNextLine()) {
                        String line = bufferedReader.readLine();
                        //while((line = bufferedReader.readLine()) != null){
                        System.out.println(line);

                        if(line.contains("imsi")) {
                            imsi = line.substring(line.indexOf("imsi")+6).replaceAll("}", "").replaceAll("\"", "");
                        }
                        if(line.contains("sms_message")) {
                            String tmp = line.substring(line.indexOf("sms_message"));
                            int start = tmp.indexOf(":") + 1;
                            int end = tmp.indexOf(",");
                            sms_message = tmp.substring(start, end).replaceAll("\"", "");
                        }
                        if(imsi != "" && sms_message != "") {
                            System.out.println(java.time.LocalTime.now());
                            if(imsi != "" && sms_message != "") {
                                System.out.println("imsi: "+imsi + " ,sms_message: " + sms_message);
                                synchronized (smsMap) {
                                    smsMap.put(imsi, sms_message);
                                }
                            }
                            done = true;

                        }
                        //}
                    }
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...