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

  • Post author:
  • Post category:
  • Post comments:2 Comments
  • Post last modified:February 8, 2020

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

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

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

예제 오류 리포트 전송 창

패킷 명세

SubmitReport (오류 보고 패킷)
필드 데이터 타입 설명 기타
MsgType int (32비트 정수) 패킷 종류 값: 100
MsgLength int 바디의 길이 단위: byte
MsgId int 패킷 일련번호  
ApplicationName char[128] 어플리케이션의 이름  
ApplicationVersion char[16] 어플리케이션의 버전  
ExceptionMsgLength int 오류 메시지의 길이 단위: byte
ExceptionMsg char[] 오류 메시지  
MsgLength int ‘하고 싶은 말’의 길이 단위: byte
Msg char[] ‘하고 싶은 말’  
EMail char[128] 이메일 주소  
Name char[64] 사용자 이름  

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

참고

  • 문자열 인코딩: EUC-KR

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

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

메시지 흐름

메시지 흐름도

업무분담

  • 버그수렴서버 – 나초보

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

  • BigCompany Word – 나선임

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

This Post Has 2 Comments

  1. sukwoo

    “닦달하기 – 나소장, 나팀장”

    너무나 찡한 감동을 주는군요…
    아~ 눈물난다.

    (어제 북한산 갔다와서 몸도 여기저기 쑤시는데) 땡땡이 치고 집에 가고 싶다.
    뭐 집에 간다고 반겨주는 사람도 없지만서두ㅠㅠ

  2. 최재훈

    복학하면 기숙사 생활을 다시 해야 하는데 남일 같지 않네요.

Leave a Reply to 최재훈 Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.