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();
}