나초보씨의 실전 C# 네크워크 프로그래밍 2편

이튿날, 직속상사인 나팀장씨가 나초보씨를 부릅니다. 나초보씨는 자신이 개발해야 할 서버 프로그램의 명세서를 받았습니다.

이게 명세서란거군
(처음 그려본 그림입니다. 결코 대충 그린게 아닙니다. +_+)

클라이언트 프로그램의 프로토타입

예제 오류 리포트 전송 창

패킷 명세

SubmitReport (오류 보고 패킷)
필드데이터 타입설명기타
MsgTypeint (32비트 정수)패킷 종류값: 100
MsgLengthint바디의 길이단위: byte
MsgIdint패킷 일련번호 
ApplicationNamechar[128]어플리케이션의 이름 
ApplicationVersionchar[16]어플리케이션의 버전 
ExceptionMsgLengthint오류 메시지의 길이단위: byte
ExceptionMsgchar[]오류 메시지 
MsgLengthint‘하고 싶은 말’의 길이단위: byte
Msgchar[]‘하고 싶은 말’ 
EMailchar[128]이메일 주소 
Namechar[64]사용자 이름 

SubmitReportAck (오류 보고 패킷에 대한 응답)
필드데이터 타입설명기타
MsgTypeint (32비트 정수)패킷 종류값: 101
MsgLengthint바디의 길이단위: byte
MsgIdint패킷 일련번호SubmitReport에서 받은 MsgId
Resultint결과E_OK (0)
E_ETC (1)
E_WRONG_EMAIL (2)

참고

  • 문자열 인코딩: EUC-KR

  • Null 종료 문자열을 사용한다.

  • 정수값은 Network-byte order로 전송된다.

메시지 흐름

메시지 흐름도

업무분담

  • 버그수렴서버 – 나초보

  • 데이터베이스 모듈 – 나연구

  • BigCompany Word – 나선임

  • 닦달하기 – 나소장, 나팀장

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu