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
[8777] [재질문]Re:TServerSocket, TClientSocket에서 ReceiveBuf(), ReceiveBuf() 사용 문제
임문환 [mhlim] 1759 읽음    2001-07-05 14:37

우선 답변에 감사드립니다.

그렇게 해보았는데 안 되는군요.



주경민 님이 쓰신 글 :
: 두 함수 사이에 Application->ProcessMessages()를 넣어 보세요.
: 간혹 그것만으로도 해결되는 경우가 있으니까요.
:
:
: 임문환 님이 쓰신 글 :
: :
: : 안녕하세요?
: :
: : TServerSocket, TClientSocket둘 모두 stNonBlocking으로 하구요.
: : TThread를 별도로 사용하지는 않았습니다.
: :
: : void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
: :       TCustomWinSocket *Socket)
: : {
: :  UMessageBuffer messageBuffer; //구조체들의 공용체 512 Byte
: :  Socket->ReceiveBuf((void*)(&messageBuffer),sizeof(UMessageBuffer));
: :
: : 1: Socket->SendBuf((void*)(&messageBuffer),sizeof(UMessageBuffer));
: : 2: Socket->SendBuf((void*)(&messageBuffer),sizeof(UMessageBuffer));
: : }
: :
: : 이렇게 두 번을 같은 클라이언트에 거의 동시에 보내게 되면
: : 클라이언트의 OnRead 이벤트는 두 번 모두 발생하는데
: : 두 번째 보낸 것을 클라이언트에서 제대로 받질 못합니다.
: :
: : 한편, 2에서 Socket를 다른 클라이언트로 하면 두 클라이언트 모두 제대로 받더군요.
: :
: : 그리고 한 클라이언트에서
: : 1: ClientSocket1->SendBuf((void*)(&messageBuffer),sizeof(UMessageBuffer));
: : 2: ClientSocket1->SendBuf((void*)(&messageBuffer),sizeof(UMessageBuffer));
: : 위와 같이 서버에 연속해서 두 번 보내면 서버는 둘 모두 제대로 받더군요.
: :
: : 서버에서 동일한 클라이언트에 동시에 두 번 메시지를 보낼 때 왜 클라이언트에서
: : 두 번째 메시지를 제대로 받지 못하는지요?
: : 그리고 어떻게 하면 이를 해결할 수 있을까요?
: :
: : 여러분의 도움을 구합니다.
: :
: :
: : 감사합니다.
: :
: :

+ -

관련 글 리스트
8756 TServerSocket, TClientSocket에서 ReceiveBuf(), ReceiveBuf() 사용 문제 임문환 1565 2001/07/05
8864     Re:TServerSocket, TClientSocket에서 ReceiveBuf(), ReceiveBuf() 사용 문제 제임스 2760 2001/07/09
8757     Re:TServerSocket, TClientSocket에서 ReceiveBuf(), ReceiveBuf() 사용 문제 주경민 1772 2001/07/05
8777         [재질문]Re:TServerSocket, TClientSocket에서 ReceiveBuf(), ReceiveBuf() 사용 문제 임문환 1759 2001/07/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.