윈속을 이용해서 통신을 담당할 wine_network.lib를 구현하였습니다.
내부적으로 기존에 만들었던 wine_lock, wine_variant, wine_thread 클래스를 사용합니다.
IOCP 쓸지말지를 심각하게 고민하다가 일단 그 부분은 다른 방식으로 구현했습니다.
이것을 네트웍 기본클래스로 하고, 앞으로 이 클래스를 상속받아서 암호화 모듈과 버퍼관리, 태스크 관리를 추가한 클래스를 만들계획입니다.
테스트로 서버-클라이언트 간에 간단한 Text를 전송시켜봤습니다.
네트웍 클래스 그룹이 완성되면 앞으로 패킷구조 정의하고, 기존에 작업한것 디버깅 하고 수정하면 라이브러리 쪽은 거의 되지 않았나 생각됩니다.
영상, 음성 전송을 제외한다면, 힘든 과정은 거의 지나간것 같습니다.
이후에는 만들어진 라이브러리로 아주 간단한 메신저의 기본기능 만들어 테스트 하고 1차 프로젝트를 종료해야 할것 같네요.
일정을 20일 정도로 계획했기때문이기도 하지만, 이쯤에서 지금까지 한 내용을 체계적으로 정리해야 다음 진행이 수월할듯 합니다.
처음에 시작할때는 그냥 몸풀기용으로 대충만들어 보려고 했는데, 하다보니 필 받아서 일이 커졌네요.
방향도 메신저에서 '대용량 서버 네트웍 라이브러리' 형태로 바뀌었습니다.
과연 대용량이 될수 있을지도 의문이지만...
|