메신저 애플리케이션 용 서버를 만들고, 사용자를 수락하기위한 스레드를 만들었습니다.스레드 메소드가 실행되지 않는 것 같습니다. (run() 메소드를 오버라이드)
하지만 내 오버라이드 메소드 실행()
이 나에게 오류 또는 그냥 실행되지 않습니다 제공하지 않습니다 오지 않는 것 같다.
이 클라이언트 리스너 여기
package org.walking.server.listener;
import java.io.IOException;
import java.net.ServerSocket;
import javax.swing.SwingWorker;
/*
* Walking client listener!
*/
public class WalkingCL {
private SwingWorker work;
ServerSocket server;
public boolean listening = true;
public void acceptclient(){
try {
System.out.println("Created server socket");
server = new ServerSocket(4444);
} catch (IOException e) {
System.err.println("Error while creating ServerSocket on port 4444");
e.printStackTrace();
}
work = new SwingWorker<Object,Void>(){
public Object doInBackground(){
while(listening){
try {
new WalkingCLT(server.accept()).start();
} catch (IOException e) {
System.err.println("Error while making thread!");
e.printStackTrace();
}
}
return listening;
}
};
}
}
클라이언트 수신기 스레드입니다 : 여기
코드입니다package org.walking.server.listener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
/*
* Walking Client listener Thread!
*/
public class WalkingCLT extends Thread {
private Socket client;
public WalkingCLT(Socket client){
super("Walking client listener thread!");
this.client = client;
}
@Override
public void run(){
System.out.println("HELLO?");
try {
System.out.println("User:" + client.getInetAddress() + "connected!");
PrintWriter out = new PrintWriter(client.getOutputStream(),true);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out.println("HELLO?");
out.flush();
out.close();
in.close();
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
내가 있는지 확인하기 위해 몇 가지에 println 문에서도 넣어했습니다가 그것에 온다 그러나 나는 단지 이것을 본다 : 서버 stacktrace :
만든 서버 소켓
클라이언트 스택 트레이스 :
패널을 작성! 연결되었습니다!
희망을 보내 주시면 감사하겠습니다.
감사합니다.
대단히 감사합니다. 이 사이트를 사랑해! –