"서버 프로그램 구조"의 두 판 사이의 차이
jjuiddong
(→Controller) |
|||
2번째 줄: | 2번째 줄: | ||
== ''' Controller ''' == | == ''' Controller ''' == | ||
+ | 네트워크 통신을 제어하는 클래스들 | ||
+ | |||
+ | - CNetConnector | ||
+ | |||
+ | - 통신하는 객체, 예를들어 CServer, CClient 는 이 클래스를 상속받아 구현한다. | ||
+ | - 네트워크 통신에 필요한 정보와 기능들을 가진다. | ||
+ | - CNetController | ||
+ | |||
+ | - 싱글톤 클래스 | ||
+ | - 네트워크 통신에 필요한 쓰레드와, 서버, 클라이언트 객체를 관리한다. | ||
+ | - Dispatcher를 관리한다. 받고 싶은 프로토콜의 Dispatcher를 등록해야 서버가 해당 프로토콜을 받아서 분석할 수 있다. | ||
+ | - Accept, Work, Logic 쓰레드를 관리한다. 서버당 각각 1개씩 쓰레드를 생성하므로, 3개의 쓰레드를 가진다. 서버가 2개 생성되면 쓰레드는 6개가 된다. | ||
+ | - 서버/클라이언트 둘 모두에게 쓰이는 객체다. | ||
+ | - CNetLauncher | ||
+ | |||
+ | - 싱글톤 클래스 | ||
+ | - CNetController 에서만 쓰인다. | ||
+ | - 서버를 생성하거나, 클라이언트가 서버에 접속할 때 쓰이는 api를 따로 분리시킨것이다. | ||
+ | - CRemoteClient | ||
+ | |||
+ | - 서버에 접속된 클라이언트 정보를 가진다. | ||
+ | - 서버 측에서만 쓰인다. |
2013년 3월 2일 (토) 21:55 판
Network 라이브러리
Controller
네트워크 통신을 제어하는 클래스들
- CNetConnector
- 통신하는 객체, 예를들어 CServer, CClient 는 이 클래스를 상속받아 구현한다. - 네트워크 통신에 필요한 정보와 기능들을 가진다. - CNetController
- 싱글톤 클래스 - 네트워크 통신에 필요한 쓰레드와, 서버, 클라이언트 객체를 관리한다. - Dispatcher를 관리한다. 받고 싶은 프로토콜의 Dispatcher를 등록해야 서버가 해당 프로토콜을 받아서 분석할 수 있다. - Accept, Work, Logic 쓰레드를 관리한다. 서버당 각각 1개씩 쓰레드를 생성하므로, 3개의 쓰레드를 가진다. 서버가 2개 생성되면 쓰레드는 6개가 된다. - 서버/클라이언트 둘 모두에게 쓰이는 객체다. - CNetLauncher
- 싱글톤 클래스 - CNetController 에서만 쓰인다. - 서버를 생성하거나, 클라이언트가 서버에 접속할 때 쓰이는 api를 따로 분리시킨것이다. - CRemoteClient
- 서버에 접속된 클라이언트 정보를 가진다. - 서버 측에서만 쓰인다.