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
[54753] Re: aj주기적으로 TCP 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다.
박영목 [gsbsoft] 1304 읽음    2008-10-04 10:52
멀티쓰레딩으로 돌아가는 운영체제에서... 정확한 동기적인 통신이 가능한가?
받을 때 윈도우가 다른 일로 바쁘면...  안되는 것이 당연할 것인데...
최대한 간격을 줄이는 노력만 가능하지 않을까 생각됩니다...
윈도우에서 그렇게 정확하게 주고받고 해본적이 없군요....
마이컴에서야 정확하게... 가능하지요... 명령한줄까지 계산을 하니...
혹 도스 같으면 가능하겠건만....

이쪽에 더 깊은 지식이 있는 분... 답변을 달아주세요....

저도 궁금합니다....     감사합니다... 부산에서 월천.... 행복하세요...



기둥 님이 쓰신 글 :
: 프로젝트 중 수행중인데, 문제에 봉착해버렸습니다. ㅜㅜ
:
: 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 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다. 기둥 1226 2008/10/04
54754     Re: 이렇게 한번 해보세요~ 설현도 1522 2008/10/04
54753     Re: aj주기적으로 TCP 클라이언트에서 서버로 데이타 송신하는데 서버에서 수신 주기가 안 맞습니다. 박영목 1304 2008/10/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.