자바 소켓으로 서버 만들고 있는데요
음 이게 서버가 동작하고 클라이언트가 접속해서 스트림으로 데이터 주고받은 다음에
클라이언트가 동작완료해서 연결끊으면 소켓이 끊어지면서 프로그램이 종료되는데
서버는 하나의 클라이언트 연결이 끝나도 계속 동작하게 구현하고 싶은데요
얼핏 봤을때 리눅스 서버같은데서 실행할때 백그라운드로 돌리면 소켓 연결 끊어져도 계속 동작한다는데
그럼 그때 다른 클라이언트에서 연결시도하면 제가 원하는대로 동작을 할 수있는건지
아니면 쓰레드를 사용해서 클라이언트 연결할때 마다 소켓 생성해서 쓰는게 맞는건지 궁금한데 좀 가르쳐주세요 ㅜㅜ
그리고 쓰레드를 사용하는데
클래스 A, 클래스 B extends Thread 이렇게 두 클래스가 있으면
클래스 A에서
ServerSocket serverSocket = new ServerSocket(포트);
System.out.println(\"server socket created\");
while(true)
{
Socket connectionSocket = serverSocket.accept();
// 클래스 생성
B b = new B(connectionSocket);
b.start();
}
이런식으로 돌렸을때 클래스 B에서 run() 부분에 버퍼리더 버퍼 와이터 소켓을 인자로 받아와서 연결시켜줬는데
run() 부분이 동작을 안하는거같은데 클래스 A에서 저런식으로 정의하는게 잘못된건지 아시는 고수분 가르침 부탁드립니다.
댓글 0