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

C++빌더 Q&A
C++Builder Programming Q&A
[54751] 주기적으로 TCP 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다.
기둥 [] 1225 읽음    2008-10-04 01:14
프로젝트 중 수행중인데, 문제에 봉착해버렸습니다. ㅜㅜ

50ms 주기로 보드에 있는 TCP 클라이언트에서 PC에 있는 TCP서버에 1024 바이트 문자 배열을 송신합니다.
50 ms 통신 주기를 유지하는 것이 매우 중요합니다.
그런데, 수신하는 서버에서 멀티미디어 타이머를 이용해서 서버에서 수신 당시 시간을 측정 해보니,
50 ms 주기로 데이터가 들어 오기도 하지만, 50 ms 의 두배인 100 ms 근처에 두 개의 데이터가 들어 오기도 합니다.
물론 TCP이니 데이터는 정상적으로 수신하고 처리합니다. 
송신하는 클라이언트는 50 ms 주기로 1ms 정도의 오차를 가지고 송신하는 것을 확인했습니다. 
제가 생각하기에는 수신 버퍼에 데이터가 들어와서 잡혀 있다가 한 번에 처리하는 것 같습니다.
클라이언트가 PC일 경우에는 데이터 크기를 4096 바이트로 늘리면 50 ms 통신 주기를 유지할 수 있다는 것을 확인했습니다만, 
보드에서는 4096바이트 데이터를 보내는 것이 불가능하네요.
그래서 PC에 있는 서버에서 무엇인가 작업을 해줘야 할 것 같은데,
머리털 나고 처음으로 소켓 프로그램을 작성하다 보니
뭘 어떻게 해야 할지 모르겠습니다.
소켓 프로그램 고수가 계시면 제발 도와주세요.
작은 힌트라도 알려 주시면 많은 도움일 될 것입니다.

사용한 컴파일러는 Boland Developer Studio 2006이고
컴파일러에서 기본제공하는 서버소켓과 클라이언트소켓을 사용하였습니다.

미리 감사드립니다.

+ -

관련 글 리스트
54751 주기적으로 TCP 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다. 기둥 1225 2008/10/04
54754     Re: 이렇게 한번 해보세요~ 설현도 1521 2008/10/04
54753     Re: aj주기적으로 TCP 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다. 박영목 1304 2008/10/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.