다름이 아니오라
TClientSocket에 아래와 같은 부분이 있잖습니까.?
size := socket.ReceiveLength; --> 요부분이요
Socket.ReceiveBuf(buf, size);
헌데 이소켓을 인디 소켓으로 작업을 다시 하려 하는데..위 부분과
Sokcet.ReceiveLength 과 비슷한 것이 무엇인지...요..ㅡㅡ
혹..IdTCPClient.RecvBufferSize는 아니죠..
델초보 였습니다.
내용이 부족하면 좀더 올리도록 하겠습니다.
인디에는 그러한 부분이 없습니다.
그러니까.. 저넘은 버퍼를 보내고 받은 크기를 첵크해서 버퍼에 넣어야 하죠
음.. 소켓이 이런식인데.. 그러니까 줄기차게 들어오니까. 저넘을 첵크해서 어디가 어디까지가 하나인지를 잘라내야겠죠? 뭐 그렇게 하셧겠지만..
인디로 하시면. 그냥 간단하게는
idTcpClient.Writeinteger(size);
idTcpClient.WriteBuffer(buf);
이렇게 보내구요.
받는넘은..
size := AThread.Connection.ReadInteger();
AThread.Connection.ReadBuffer(Buf, size);
대충 요로코롬..
인디에서 버퍼를 쓸때는 일단 크기를 보내주고 해당 크기만큼 받는겁니다.
블러킹 모드라서 그래요..
저크기만큼 받기 전에는 내부쓰레드가 계속해서 돌아가는거죠..
그럼. 좋은결과 있으시길..