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