본문 바로가기

OpenSource 활동/pj-socket

[pj-socket] 필요 기능에 대한 고찰

우선 package diagram 을 그려보면서 내가 필요로 하는 것이 무었인지, 내가 개발자라면 어떤 기능을 필요로 할 것인지를 중심으로 생각하기로 했다.

그런데.. 은근히 안그려진다.


세부적인 내용(자료구조, 알고리즘 등)은 추후 생각하기로 했다.


그래서 필요 기능을 먼저 나열하고자 했다.

우선 TCP, UDP 에 대한 각각의 통신이 두루 사용될 것이기에 tcp, udp 통신은 필수라 생각하였다.

또한 게임서버 통신에서 보안은 필수 불 가결이기에 SSL방식의 통신과, RSA 알고리즘을 통한 방법 또한 필요할 것이라 생각해 보았다.


여기까지 생각하니 무엇이 있어야 편리한지를 생각해 보았다.

우선 클라이언트와의 통신을 송수신 가능한 함수 제공이 일차적으로 필요할 것이다.


송신은 상관없지만, 수신의 경우 어떻게 제공할까? 가 문제가 된다.

동기방식의 서버를 만든다면 상관이 없지만, 비동기방식으로 제작할 것이기에 수신에 관련된 callback 함수를 제공하는 것이 좋을 것 같다.

수신된 자료의 업데이트 및 갱신은 어떻게 할지 고민하다 보면 범용성이 떨어지게 되니, 틀만 제공하는 것으로 할 것이다.


다음으로 중요한 것이 클라이언트의 비정상적인 종료현상 일명 세션관리 기능이 필요할 것 같다.

하지만 이 세션관리는 고수준의 기능을 제공하는 것이 아닌 단순히 의도치 않은 비정상 종료/네트워크 단절 등의 현상으로 부터 클라이언트를

서버에서 종료처리 시키는 것이 목표이다.


여기까지 생각하니 대략적인 그림이 그려진것 같다.

내가 생각한 그림으로 package diagram 을 그려볼 생각이다.


'OpenSource 활동 > pj-socket' 카테고리의 다른 글

[pj-socket] 해당 프로젝트 시작의 이유  (0) 2017.01.30