Java에서 상당히 간단한 클라이언트/서버 응용 프로그램을 만들려고합니다. 클라이언트에는 두 개의 스레드가 있으며 서버에는 입력과 출력을위한 두 개의 스레드 (클라이언트 당)가 있습니다. 나는 두 가지 방법으로 데이터를 Object Streams에 보내고있다. Read() 블록. read() 쓰레드를 인터럽트 할 수 있어야한다. 어떻게해야합니까?Interruptible Socket Java 읽기
2
A
답변
1
소켓을 감싸고있는 출력 스트림을 막기 만하면됩니다. 또한 플랫폼에서 차단되는 경우 읽기 제한 시간을 사용하고 리더가 이동할 때마다 연결 해제 플래그를 확인하도록하십시오.
1
Socket
을 닫고 read
메서드는 IOException
으로 중단됩니다. 그 예외를 처리하여 스레드를 정리하십시오.
0
비 차단 호출을 사용하거나 스레드에서 Interrupt method을 사용할 수 있습니다. 일단 인터럽트되면 읽기 연산은 스레드를 잡아서 멋지게 끝낼 수있는 예외를 발생시킵니다.
+1
소켓이 InterruptibleChannel 인 경우에만 해당됩니다. – EJP
관련 문제
- 1. java socket generate xml
- 2. java in socket permission
- 3. Java derby over socket
- 4. Java - Strange hanging socket?
- 5. java telnet socket client
- 6. java 소켓 SocketException socket closed
- 7. Java ObjectOutputStream on Socket not flush() ing
- 8. NNTP 서버에 연결하기위한 Java Socket 또는 DatagramSocket
- 9. socket-over-ssh factory
- 10. Boost :: asio udp socket - API를 사용하여 읽기 취소를 허용하려면 어떻게해야합니까?
- 11. 파일에서 XML로 읽기 Java
- 12. Java SocketChannel 알 수없는 길이의 메시지 읽기
- 13. Selectable Multicast socket (pre 1.7)
- 14. Java ME에서 행 읽기
- 15. Java 소켓에서 바이트 읽기
- 16. Java JTextArea에서 읽기
- 17. 파일 읽기 Java
- 18. Java에서 .java 파일 읽기
- 19. java 오류로 파일 읽기
- 20. Java 라이브러리 읽기
- 21. Java 논 블로킹 읽기
- 22. Java - 파일 읽기/쓰기
- 23. Java - 청크 파일 읽기?
- 24. iPhone에서 Java 서버 읽기
- 25. Java Servlet에서 파일 읽기
- 26. 특정 행 읽기 - Java
- 27. 파일 읽기 오류 (Java)
- 28. Java 파일 읽기 문제
- 29. java 파일 읽기 문제
- 30. 문자열 섹션에서 Java 읽기
이 [link] (http://www.roseindia.net/javatutorials/shutting_down_threads_cleanly.shtml)가 실제로 도움이 될 수 있다고 생각합니다. – Jasonw
비 차단 읽기 소켓을 사용해 보셨습니까? 또한 루프를 끊임없이 검사하여 조건을 끊을 필요가있을 때 비 차단 읽기 반환 후에 연결을 끊을 수 있도록하려면? NIO 또는 setSoTimeout을 사용하여 비 블로킹 소켓을 만들 수 있습니다. –