인디소켓 클라이언트 부분에서 쓰레드를 생성후 쓰레드 실행 프로시저에
다음과 같이 하였습니다.
Form1.IdTCPClient1.ReadBuffer(a[0],length(a));
Synchronize(HandleInput);
위에 경우에는 패킷 크기만큼 받아서 메모장에 찍어줍니다.
근데, 밑에 경우에는 계속해서 메모장에 같은 내용을 찍으면서
무한 루프가 발생합니다.
n:=Form1.IdTCPClient1.Socket.Recv(a[0],length(a));
Synchronize(HandleInput);
---------------------------------------------------------------
Terminate 를 추가하면 루프를 돌지 않지만 정상적인 방법이 아닌것 같은데,
어떻게 해야 하는지요
그리고 Terminate로 멈춘다음에 다시 쓰레드를 돌릴수 있나요?
그리고, 수신을 하고 나면 컨넥션이 끊어지는데 다른 무엇을 추가해야 하는지요
유닉스에서는 한번 컨넥션 맺은 후 명시적으로 종료시키기 전까지는
컨넥션을 유지하는데 인디에서는 다른 무엇을 추가해줘야 하는지요
즐거운 주말 보내세요...