1
안녕하세요 저는 자바로 작은 앱 클라이언트/서버를 작성하고 있습니다. 내가 스레드를 포함하는 솔루션 내놓았다 있도록 클라이언트가 영구적으로 여기에 있는지 여부를이 일을하는 것이 좋습니다 경우 나도 몰라 코드서버에서 수신 대기중인 클라이언트가 대기 중입니다.
package ClientCommunication;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Listen extends Thread {
String fromServer;
Socket kkSocket;
boolean connected = true;
Listen(Socket mysocket) {
this.kkSocket = mysocket;
}
@Override
public void run() {
while (connected) {
fromServer = null;
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
} catch (IOException ex) {
connected=false;
Logger.getLogger(Listen.class.getName()).log(Level.SEVERE, null, ex);
}
try {
while (fromServer == null) {
fromServer = in.readLine();
}
} catch (IOException ex) {
connected=false;
Logger.getLogger(Listen.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Received from Thread: " + fromServer);
}
}
}
가있어, 서버를 듣는 것을 필요로하고 내가 아닌 느낌 "우아한", 그래서 당신은 더 나은 솔루션으로 나를 도울 수 있습니까?