Java-сокет SwingWorker запущен, но сообщение не получено или не передано

Несколько дней назад я попытался создать сервер-клиент или клиент-сервер в качестве эксперимента, чтобы узнать о сокете, используя поток, но затем кто-то сказал мне, что я должен использовать swingWorker. Я провел некоторое исследование, как использовать и применил это как практику, но это все еще не работает. поток SwingWorker не выглядит так, как будто он работает, даже если я получаю соединение и использую .excute (). Если вы, ребята, можете помочь определить, где я делаю неправильно, это будет здорово. Класс SwingWorker находится в методах startSever () и startClient ().

    private void startServer() {
        SwingWorker <Void, String> runningServer = new SwingWorker<Void, String>(){
        protected Void doInBackground() {
            try {
                listeningSocket = new ServerSocket(port);
                System.out.println("waiting for connection");
                connection = listeningSocket.accept();
                connected = true;
                System.out.println("Connected");
                String incomeMessage =null;
                while(connected){
                inStream = connection.getInputStream();
                    inDataStream = new DataInputStream(inStream);
                    if (myMessage !=null){
                        outStream = connection.getOutputStream();
                        outDataStream = new DataOutputStream(outStream);
                    outDataStream.writeUTF(myMessage);
                    }

                    if((incomeMessage = inDataStream.readUTF())!=null){
                        clientMessage = incomeMessage;
                        publish(clientMessage);
                        incomeMessage =null;
                    }
                }
            } catch (IOException e) {
                clientMessage = "Connection Lost";
            }
        return null;
    }           
runningServer.execute();
}

Ответы на вопрос(3)

Ваш ответ на вопрос