글
셀렉터라는 녀석을.. 말 그대로 이벤트 감지 + 발송자라고 한다면,
내가 원하는 작업의 분리는
(서버)
1.클라가 보낸 어셉처리
2.클라가 보낸 리드처리
3.클라에게 브로드캐스트처리
=> 1,2를 별개의 셀렉터 객체로 생성한다.(독립 스레드) 어셉처리 코드에서 새로 만든 클라와 통신용 채널을 1에 등록하지 말고
2에 등록한다. 그럼으로 1은 어셉만 처리, 2는 리드만 처리가 가능하다,.
3에 대해서.. 비동기 처리를 하고 싶지만, 아까도 고민햇듯이.. 2번 스레드 작업의 완료가 마쳐져야 비로소 3번 작업이
시작될수 있다.(전제조건) 그럼으로 안타깝지만.. 메서드 단위로 빼야겟다.
(클라)
1.서버가 보낸 리드처리 -> 1.1 콘솔등 view단에 전달
2.사용자의 쓰기처리 -> 2.1 서버 전송 (이때 사용하는 버퍼를 다이렉트 버퍼로 해서 바로 디바이스에 쓴다면? 흠..)
=> 1은 당연히 담당 셀렉터를 생성하고.. 처리하면 되고.. 2는 셀렉터가 표준 입력(키보드)의 엔터 이벤트를 감지할
수 있는가가 관건.. 이게 가능할지는 모르겠음... 안되면 별개 스레드로 처리하면 되고.. implements 런에이블
'개인 프로젝트 관련 고민들 > nio채팅' 카테고리의 다른 글
nio 개념잡기 (0) | 2014.03.10 |
---|---|
첩.첩.산.중 (0) | 2014.01.01 |
클래스 설계 조각 (0) | 2014.01.01 |
nio 참고 자료 + 프로젝트 깨달음 (0) | 2014.01.01 |
판단 오류2개 + 고민 3가지 (0) | 2014.01.01 |
RECENT COMMENT