콘솔 응용 프로그램 (클라이언트에서 여러 연결을 수락하는 서버)을 사용하면 닫는 응용 프로그램에 리스너 나 이벤트를 가질 수 있습니까? 이 경우 모든 연결된 클라이언트에게 응용 프로그램이 실제로 종료되기 전에 부드럽게 연결을 끊기를 원합니다.Java에서 닫는 응용 프로그램 이벤트를 처리하는 방법은 무엇입니까?
모든 솔루션? 고맙습니다!
콘솔 응용 프로그램 (클라이언트에서 여러 연결을 수락하는 서버)을 사용하면 닫는 응용 프로그램에 리스너 나 이벤트를 가질 수 있습니까? 이 경우 모든 연결된 클라이언트에게 응용 프로그램이 실제로 종료되기 전에 부드럽게 연결을 끊기를 원합니다.Java에서 닫는 응용 프로그램 이벤트를 처리하는 방법은 무엇입니까?
모든 솔루션? 고맙습니다!
당신은 종료 훅을 사용하려고합니다.
응용 프로그램을 닫으면 운영 체제가 서버 프로세스를 종료시키는 것입니까?
그런 상황에서는 서버가 죽는 것을 알 수있는 방법이 없습니다. 기존 연결이 끊어집니다.
응용 프로그램을 닫으면 sys admin이 수동으로 서버를 닫을 수있는 방법을 제공합니다 (아마도 서버 콘솔에 "exit"라고 입력). 그런 다음 종료 이벤트는 사용자 정의 이벤트가 될 것이므로 리스너를 코딩하고 서버가 종료 될 때 모든 사람에게 통지해야합니다. 이 시나리오에서는 그것이 가능합니다.
서버 구성 방법이나 작동 방식에 대해 자세히 설명해보십시오. , JVM이 종료 될 때 그래서 쓰레드가 실행됩니다
Runtime.getRuntime().addShutdownHook(theHookThread);
자세한 내용은 here 참조 :
빠른 검색을 통해이 기사 (http://www.onjava.com/pub/a/onjava/2003/03/26/shutdownhook.html?page=1)를 찾았습니다. 찾고 있었어. 너! – elbaid