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
[28899] TServerSocket 에서...
혼불 [] 898 읽음    2004-02-25 13:48
데이터를 수신하다보면 가끔씩

"메세지 버퍼열이 부족하여.... 어쩌고 저쩌고... " 이하 잡소리... ㅡㅡ;;;;

뭐 이런 메세지가 나오는데요....

메세지 수신이 제대로 진행이 안될때 생기는 경우라고 생각이 되는데...

일단 수신 부분은...

                Socket->ReceiveBuf(&receiveFrame, sizeof(PROT_HEAD));               // head read

                int iLCount = receiveFrame.m_Head.m_wFrameSize/sizeof(DATA_FRAME);  // receive frame count 계산
                switch(receiveFrame.m_Head.m_bCommand)                              // command check
                {
                case CDP:                                                       // current data일 경우 처리
                        memset(&receiveFrame.receiveData,0x00,sizeof(receiveFrame.receiveData));   // receive data clear
                        // data frame receive
                        Socket->ReceiveBuf(&receiveFrame.receiveData,receiveFrame.m_Head.m_wFrameSize - sizeof(PROT_HEAD));
// 이하 쓰잘데기 없는 처리문...
                        break;
                case SDP:                                                                         // store data일 경우 처리
                        memset(&receiveFrame.receiveData,0x00,sizeof(receiveFrame.receiveData));  // receive data clear
                        // data frame receive
                        Socket->ReceiveBuf(&receiveFrame.receiveData,receiveFrame.m_Head.m_wFrameSize - sizeof(PROT_HEAD));
// 이하 쓰잘데기 없는 처리문...
                        break;
                case ERC:                                                       // error code
                        memset(&receiveFrame.receiveData,0x00,sizeof(receiveFrame.receiveData));
                        Socket->ReceiveBuf(&receiveFrame.receiveData, receiveFrame.m_Head.m_wFrameSize - sizeof(PROT_HEAD));
// 이하 쓰잘데기 없는 처리문...
                        break;
                default:
                        return;
                }

일단 헤더에 실려오는 Command에 따라 각각 다른 처리를 하기 위해 위와 같이 하였습니다..

가끔씩 버퍼열이 어쩌고 어쩌고 하여...

default : 부분에 데이터를 받아두니 Socket->ActiveConnections 의 카운터가 계속 0이 되더군요...

따라서 수신한 주소로 데이터를 전송하려해도 전송이 되지를 않거... ㅡㅡ;;;;

음... 해결책이 없을까요??? ㅡㅡa

+ -

관련 글 리스트
28899 TServerSocket 에서... 혼불 898 2004/02/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.