Не могу отправить массовые сообщения на сокет качели GUI Замораживание - PullRequest
0 голосов
/ 06 марта 2020

Я новичок в java программировании и пытаюсь разработать приложение java, которое считывает массовые сообщения из файлов журнала и сохраняет сообщения в массиве. сейчас я пытаюсь отправить несколько сообщений, которые хранятся в массиве, в tcp-сокет, но мой GUI зависает, пока l oop.

Ниже приведен код

public static void SendRequest( ArrayList<String> rawMessages) {
    int ind = 0;
        do  {
            logs_res = "";
            logs_req = "";
            Socket socket = new Socket(IP, port);
            socket.setSoTimeout(30000);
            InputStream sin = socket.getInputStream();
            OutputStream sout = socket.getOutputStream();
            DataInputStream in = new DataInputStream(sin);
            DataOutputStream out = new DataOutputStream(sout);
            String line = "";
            System.out.println("Request  : " + rawMessages.get(ind);
            out.writeUTF(rawMessages.get(ind);
            Thread.sleep(500);
            out.flush();
            try {                   
                if (ind == rawMessages.size()) {
                    socket.close();
                } else {
                    ind++;
                    line = in.readUTF();
                    System.out.println("Request  : " + line);                       
                    sin.close();
                    sout.close();
                    in.close();
                    out.close();

                    }
            } catch (Exception e) {


                System.out.println("E1" + e);
            } 
        }while(abc.size() == ind);
* 1005. *}
...