|
Win_Main->TCPClient->IOHandler->ReadBytes(Buffer, sizeof(PACKET_RECVCHAT));
--------->
Win_Main->TCPClient->IOHandler->ReadBytes(Buffer, sizeof(PACKET_RECVCHAT), false);
뒤에 false를 불여줘야 하네요.. 맨땅 헤딩식으로 짜느라 영~ 힘드네요..
인디 IOCP쪽 강좌 해주실 분은 안계신지..ㅠㅠ
DoyongID 님이 쓰신 글 :
: aaaa
: bbbb
: cccc
:
: 이렇게 채팅 문자열을 순서대로 보내면.. 서버는 분명히 aaaa, bbbb, cccc 순으로 받아서 클라이언트로 뿌리는데,
:
: 클라이언트에서 찍어보면 aaaa, aaaa, aaaa 라고 나옵니다..
:
: 소스 첨부했습니다..
:
: 참고로 클라이언트에서 받는 부분은 아래와 같습니다.
:
: void __fastcall TRecv::Execute()
: {
: TByteDynArray Buffer;
: PACKET_RECVCHAT stPacket;
:
: while(!Terminated)
: {
: if(!Win_Main->TCPClient->Connected())
: {
: Terminate();
:
: return;
: }
:
: switch(Win_Main->TCPClient->IOHandler->ReadChar())
: {
: case CMD_CHAT:
: Win_Main->TCPClient->IOHandler->ReadBytes(Buffer, sizeof(PACKET_RECVCHAT));
:
: BytesToRaw(Buffer, &stPacket, sizeof(PACKET_RECVCHAT));
:
: strcpy(ChatMsg, stPacket.Str);
:
: Synchronize(PutChat);
:
: break;
: }
: }
: }
|