-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
중계서버 설계 관련 #19
Comments
To @kbu1564 진하게 표시한 부분의 아키텍처로 변경할 경우, UML 다이어그램이 변경 되어야 할 것 같아요. 그리고, 불필요한 클레스와 함수들이 많고, 현재 UML과 변경될 UML의 설계가 혼합되어, 지금 UML이 무엇을 뜻하는지 알기 모호해요. |
@formfoxk |
중계서버 SW 아키텍쳐 설명아래 3차 설계 한 UML 설계도와 현재 내가 생각한 중계 서버 아키텍쳐를 아래 설명함 중계 서버 3차 설계 UML중계 서버 동작 흐름서버 구현시 Server 클래스의 method 들을 이용하여 서버를 생성하도록 되어있으며 각각의 클라이언트들은 하나의 장치로 구분되어 스마트폰 1대의 소켓에 1대이상의 PC 소켓이 대응되어 Group 클래스로 Wrapping 처리됨 이렇게 생성된 Group 객체들을 배열형식으로 Server 클래스에서 가지고 있게 됨 각각의 클라이언트에서 전송되는 데이터들은 ThreadPool 로 관리되고 있는 Thread 들에 의해 수신처리 되며 데이터 수신시 수신된 패킷이 어떠한 속성의 타입인지 PacketParser 클래스를 통해 decode 작업을 수행하여 PacketExecuteQueue 에 push 되어 Server.executeLoop() 함수의 내부에서 해당 작업큐로 부터 하나씩 꺼내어 꺼내진 Packet 객체의 execute() 함수에 의해 해당 패킷의 루틴을 수행하게 됨 각각의 클라이언트의 비정상 종료를 위해 특정 주기적으로 Heartbeat 를 날리는 Thread 를 하나 별도로 둠 각각의 ReceiveThread 의 경우 일정한 수만큼의 클라이언트들을 관리함 구현시 예상 문제점
|
To @kbu1564 수정이 필요하다고 생각하는 부분
|
@formfoxk
|
@formfoxk @kbu1564
|
설계 인원 : @formfoxk @kbu1564
중계서버를 보다 효율적으로 유지보수가 뛰어나도록 하기 위해 Class를 재설계 한다.
기본뼈대를 들어내고 다시 새로이 구성하여 제작을 들어간다.
코딩하면서 몇번 구성이 바뀔듯 하다.
위 이미지는 현재 중계서버 1차 UML 설계도
The text was updated successfully, but these errors were encountered: