"서버 프로그램 구조"의 두 판 사이의 차이

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

2013년 3월 2일 (토) 21:58 판

Network 라이브러리

Controller

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

변수
행위
둘러보기
도구모음