Q&A

  • 소켓통신 소스좀 봐주세요
안녕하세요!!

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;



0  COMMENTS