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
[76253] Re:안녕하세요. TServerSocket관련하여 질문 있습니다.
오랑캐꽃 [oranke] 951 읽음    2022-02-10 11:55
네글(Nagle) 알고리즘 문제가 의심되는데요...
일단 이 글을 먼저 읽어보세요.
(구글에서 검색할때 처음 나오길래 링크를 붙입니다)
http://egloos.zum.com/depiness/v/772710

결론은, 시간을 손해보고 대역폭을 취하는 알고리즘.

윈도 시스템은 TCP통신에 이게 기본적으로 켜져있습니다.
winsock을 직접 쓸 경우는 setsockopt() 로 TCP_NODELAY 를 켜주면 이 기능이 꺼집니다.
(대신 자잘한 패킷이 늘어나 전체적으로 트래픽이 증가하겠지요)
TServerSocket, TClientSocket 에서 해당 옵션을 어떻게 변경하는지는 안써봐서 모르겠네요.
밑에분이 답변해주실겁... ^^


추천하지는 않지만, 시스템 전역적으로 꺼버리는 방법도 있습니다.
https://www.howto-connect.com/enable-disable-nagles-algorithm-windows-10/



SHAWN 님이 쓰신 글 :
: 안녕하세요.
:
: TServerSocket관련하여 조언또는 노하우를 구하고자 글을 올립니다.
:
: 현재 장비 프로그래머로서 일하고 있습니다.
:
: 사용하는 툴은 c++builder 6(Boland) 구요.
:
: 비전 시스템과 통신중 한번씩 정해진 패킷의 2~5배가 되는 패킷이 들어오는 경우가 발생합니다.
: (검사 환경은 비전시스템이 인스펙션을 하는 즉시 바로 데이터를 보냅니다. 그저 저희 쪽에서는 처리만 할 뿐입니다. 핸드쉐이킹 방식이 아닙니다.)
:
:
: 그래서 2~3초의 딜레이가 발생한후 데이터가 들어오는데
:
: 제 생각은 무언가가 데이터를 모아서 한번에 보내는거 같습니다.
:
: 랜 케이블도 교체 해보았지만 현상은 같네요...
:
: 지금 제가 생각하는 솔루션은
:
: 1. 인디소켓으로 바꾼다.
: (인디 소켓이 일반 소켓보다 더 데이터를 빠르게 즉시 처리할수 있는지??)
:
: 2. 랜카드를 고성능으로 바꾼다.
: (혹시 추천하실만한 랜카드 있으신지??)
:
: 혹시 위의 제가 생각한 솔루션에대한 조언이 있으신지 여쭙고자 합니다.
:
: 마지막으로 혹시 네트웍 트래픽 관련하여 효율적으로 모니터링 할 수 있는 방법이 있나요??
:
: 감사합니다.
:
: 오늘하루도 수고하세요.

+ -

관련 글 리스트
76252 안녕하세요. TServerSocket관련하여 질문 있습니다. SHAWN 913 2022/02/10
76253     Re:안녕하세요. TServerSocket관련하여 질문 있습니다. 오랑캐꽃 951 2022/02/10
76254         Re:Re:안녕하세요. TServerSocket관련하여 질문 있습니다. SHAWN 943 2022/02/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.