C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

메신저 프로젝트
[281] 프로토콜...
정재필 [] 30176 읽음    2005-01-11 21:58
1. 일단 필요하리라 생각되는 프로토콜로는...

  1) Log in/out
  2) Keep Alive

  일단 이 정도가 가장 기본적인 연결 관리를 위해 필요할거 같구요...

  1:1 대화 시작을 위한 프로토콜도 있어야 겠죠.
  그냥 상대방의 IP와 포트를 요청하는 것이라서 UserInfo라고 임시로 해버렸습니다. ^^

  3) UserInfoReq/UserInfoAns

2. 구체적인 내용으로는...
  1) 메시지 길이는 제한이 없습니다.

  2) 모든 프로토콜 메시지는 고유한 32비트 ID를 가지고, 이 ID가 메시지의 가장 앞에 위치합니다.

  3) 16비트 이상의 모든 자료형(short, int, int64, float, double, ...)은 network byte order로 변환하여 통신합니다.

  4) Login/out 메시지는 특별히 보안 관련 기능이 들어갈 것입니다.
      따라서 ID, PWD 필드 외에 서버와 클라이언트가 랜덤으로 생성한 키를 교환하는
      방식을 이용하도록 하겠습니다. 자세한건 프로토콜 설계가 진행이 되면 문서로 남기도록 하죠.

  5) Keep Alive 간격은 1.5초 정도가 적당할거 같구요 두 번 이상. 즉 3초 이상 응답이 없는
     클라이언트는 연결을 강제로 끊도록 하겠습니다.
수야!╋ [sooya23]   2005-01-12 00:26 X
Keep Alive( Ping )은 5~10초로 잡아주세요
메신저라는 특성때문에 게임처럼 급박하게 진행되지 않아도 됩니다.

대략 15초~20초간 응답이 없을경우에만 커넥션 종료를 해주시기 바랍니다.
수야!╋ [sooya23]   2005-01-12 00:29 X
좀 후의 이야기지만 디버깅시에 핑을 날리지 못할 수 있으니 이점 참고 부탁드립니다.
( 어련히 아시겠지만서두 ㅋ-ㅋ )
정재필 [zgdr7th]   2005-01-12 21:49 X
넵... 디버그 버전에서는 타임아웃 시간을 적절히 조정해야겠죠 ^^

+ -

관련 글 리스트
281 프로토콜... 정재필 30176 2005/01/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.