방문해 주셔서 감사합니다! 항상 행복하세요! - 문의사항은 메일 또는 댓글로 언제든 연락주세요. - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다. - 메일주소 : lts06069@naver.com TCP2 Nio 패키지 TCP 서버 종료 이벤트(Selector, ServerSocketChannel) TCP 서버를 nio 패키지의 클래스를 활용하여 개발하던 중 만난 이슈 입니다. 물론, 서버채널(ServerSocketChannel)은 비동기(configureBlocking 값이 false)인 상황 이였습니다. 네트워크가 끊어진 경우에는 셀렉터의 키 값을 반환(cancle) 하고 체널을 종료(close)를 해 주어야 합니다. 그렇지 않으면 해당 채널은 계속해서 iterator를 통해서 나오기 때문 입니다. 대략 아래처럼 코드를 작성 하였습니다. //생략.. Selector selector; { Iterator it = selector.selectedKeys().iterator(); while (it.hasNext()) { SelectionKey key = (SelectionKey) it.next(); .. 2023. 2. 15. ServerSocketChannel, SocketChannel read write 메소드 사용시 주의해야 할 점 Java에서 TCP 소켓 서버를 구현하기 위해 사용되는 클래스 중 ServerSocketChannel 클래스가 있습니다. 해당 클래스는 nio 패키지의 일부이며, 해당 클래스를 통해서 TCP 서버를 쉽게 구현 할 수 있습니다. 아래 샘플코드는 데이터를 받기 위해서 사용하는 프로세스의 일부분을 간략하게 표현한 코드입니다. read 메소드를 통해서 데이터를 받을 수 있습니다. import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.ByteBuffer; { ServerSocketChannel serverSocket = ServerSocketChannel.open(); while(ser.. 2022. 12. 15. 이전 1 다음