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

메신저 프로젝트
[90] Re:Re:Re:메시지 패킷팀 회의내용 및 결정 사항입니다.
한동훈 [h64d5791] 7797 읽음    2001-06-12 11:39
엇 경문님이시군요...예전에 화상, 음성땜시롱 전화 한번 드렸었는데

기억하시는지는...쩝..

여하튼 좋은 글 감사드립니다.


이경문 님이 쓰신 글 :
: 일반적으로 NETWORK 프로토콜을 사용할 때는 다음의 사항들이 추가되는 것이 일반적입니다.
:
: identifier : 2-4 octet(byte)
: 프로그램이 유명해 지면 서버에 tcp connection(telnet 111.111.111.11 10000과 같이) 맺어서 이상한 패킷을 보내는 사람이 있습니다(할 짓이 없어서. 물론 나도 그런 적이 있었고 ^^).
: 이런 사용자들을 방지하기 위하여 프로토콜 헤더에 identifer를 대개 집어 넣습니다.
:
: verion info : 2-4 octet
: 네트워크 프로그램(특히 IM)은 version관리가 필수이지요. version도 major version, minor version을 두어서 major version이 다를 경우에는 호환이 되지 않고 minor version이 다를 경우는 상위버전이 하위버전을 지원해야 함으로 일반적으로 규정하고 있습니다.
: 물론 자동 upgrade기능을 추가하여 Application 레벨에서 관리해야 함은 당연하지만
: Protocol 레벨에서도 구현하는 것이 일반적입니다.
:
: length filed: 2-4octet
: blocking socket이 아닌 non blocking에서 특히 자주 발생하는 문제점인데 send count와 receive count가 동일하지 않습니다. 이를 위해서 Application에서 length filed를 조사하여 처리해 줘야 하는 기능이 있어야 합니다.
:
: 그외 프로토콜을 구성하는 데 필요한 사항들입니다.
: network byte oder의 약속:
: intel계열의 CPU는 little endian입니다. 예를 들어 int를 송수신하면 실제 네트워크에서는 거꾸로 데이터가 송수신된다는 얘기지요. 클라이언트, 서버 모두가 intel계열의 little endian을 사용한다면 문제점이 되지 않지만, 확실한 프로토콜을 설계한다면 network byte order, host byte order에 대한 이해가 확실해야 합니다.
:
: firewall의 지원
: 네트워크선을 아예 빼 버리는 것도 넓은 의미에서의 firewall입니다.
: ip 차단, port차단, TCP body 차단, inbound 및 outbound 차이등....
: 구현하고자 하는 Messenger에서 어느 레벨까지 firewall을 지원할 것인지도 결정을 해야 할 것입니다.
:
: keep alive지원
: 클라이언트의 비정상적인 종료에 의해 연결이 되어 있지 않은데 연결된 것처럼 인식하는 버그가 많이 있습니다.
: 흔히들 유령사용자, 유령방따위의 용어를 사용하지요.
: 이를 위해서 keep alive packet을 사용하여 일정 시간동안 클라이언트로부터 keep alive패킷이 들어오지 않으면
: 클라이언트가 죽은 것으로 간주하고 관련 작업을 서버측면에서 진행시킵니다.
: keep alive 간격을 얼마나 할 것인지도 고려해야 겠지요.
:
: 그외에도 프로그램을 작성하다 보면 생각해야 할 사항들이 너무나 많습니다.
: 네트워크는 실력이 아닌 경험입니다. 아무쪼록 본 프로젝트를 통하여 많은 분들이 실력이 향상되기를 바라겠습니다.
:

+ -

관련 글 리스트
83 메시지 패킷팀 회의내용 및 결정 사항입니다. 홍지곤 9767 2001/06/08
84     Re:메시지 패킷팀 회의내용 및 결정 사항입니다. 나왕이야 8046 2001/06/09
89         Re:Re:메시지 패킷팀 회의내용 및 결정 사항입니다. 이경문 8026 2001/06/12
90             Re:Re:Re:메시지 패킷팀 회의내용 및 결정 사항입니다. 한동훈 7797 2001/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.