[Network] 5. FlatBuffers + Boost Asio 콘솔 서버 예제 (1)
프로그래밍 언어/Flatbuffers 2021. 7. 4. 09:42
Server 구조 자 그럼 서버 코드를 작성해보도록 하겠습니다. 서버 코드 클래스의 구조는 위와 같습니다. 서버의 구조는 Boost Asio 로 구성되며 윈도우 플랫폼에서는 내부적으로 Proactor 패턴의 IOCP로 작동됩니다. 각 클래스의 구조는 서버 클래스인 CServer와 각각의 세션 Entity 인 CSession, 그리고 접속하여 채팅하는 공간이 필요하므로 채팅방 클래스인 CChatRoom, 마지막으로 패킷데이터 관리를 위한 CMessage 클래스까지 4개의 클래스로 작성됩니다. 여기에 마지막으로 FlatBuffers 라이브러리가 사용되어 패킷 직렬화를 아주 쉽고 간단하게 도와줄 겁니다. 이 서버는 CServer에서 접속자를 기다리며 접속자가 접속 요청이 오면 Accep 하여 세션을 할당하고 ..