안녕하세요!!
indy Client와 c언어로 제작된 소켓서버와 통신하는
프로그램을 제작중입니다.
문제는 c 로 제작된 소켓서버가 indy Client로
결과 data를 전송하는데 indy Client에서
data를 받는부부에서 처리가 잘 안됩니다..
------------------------------------------------
아래는 서버로 부터 받은 data를 indy Client 받아 처리하는 소스부분과
c로 제작된 소켓서버가 보내는 data구조입니다..
-------------------------------------------------
1 . c 로 작성된 전송 data 구조
typedef Struct{
int nMsgrType;
int nRet;
Char szComment[20];
int nSvcType1;
}
2 . indy Client 가 서버로 부터 받는 부분.
>> 이상한 부분은 ReadLn하여 읽은 자료가 ''값으로 들어옴
>> readBuffer도 사용해보았지만 여전히 '' 값으로 들어옴
procedure TMyThread.Execute;
var ss:string;
begin
while (not Terminated) do begin
try
Msg := FMpanma.idClient.ReadLn;
>> msg(string 정의됨)이 ''값으로 들어옴.. << 분명서버에서는 전송했다함..
>> 그리고 다음 Loop에서 readln 하면 서버와 disConnect되어 쓰레드종료됨
if Length(Msg) > 0 then begin
Synchronize(msg); >> data 처리하는 부분
end;
except
Terminate;
end;
end;
end;