Q&A

  • 인디서버로 데이터를 받을때..
인디서버로 데이터를 받을때..Execute를 통해 받는건 알겠는데..
Execute 함수안에서..받은 데이터를 처리하는동안..(디비에 저장, 또는 다른곳으로 재전송등등..)
다른 데이터가 또 오면 어떻게 되는 것인가요?ㅠ.ㅠ
어떠한곳에 저장되어있다가..작업이 끝나면 다시 받는건지..
아님 데이터가 날라가는지?

데이터가 날라간다면..어떻게..해결방안은 없는지?

이 서버가 중계서버래서 이쪽 저쪽거 다 받으서 그렇습니당...ㅠ.ㅠ
도와주셔요...ㅠ.ㅠ
2  COMMENTS
  • Profile
    박서규 2002.12.14 20:20
    인디라는것이 쓰레드기반으로 돌아가는건 아시져..??
    즉 개별 쓰레드로 생각한다면 각 Execute함수 내의 Loop를 돌게하고..

    While AThread.Connection.Connected and (not AThread.Terminated) do
    Begin
    End;

    요렇게 하면 핸당 쓰데드가 멈출때까정,, 소켓이 끊어질때까정 돌겁니다..
    그런다음 로컬변수를 하나써서,,, 메모리나 디스크에 저장해놓게 되면..
    물론 이름을 잘쓰셔야죠... 로컬변수는 상관없을테고 파일스트림같은경우
    에는 선별해서쓰시고....  
    요는 개별쓰레드이므로 겹치는것에 상관은 없다는거죠.. 단 공유자원에
    접근하는경우 사용자가 잘 처리를 해주어야합니다.  CriticalSection을 쓰
    시던 뭘 쓰시던 잘 못쓰면 안쓰는것만 못하므로....
    개인적인 생각으로는 임계섹션은 가능하면 안쓰는게 안정적이겠지만..
    쓸수밖에 없는경우는 학실히(?) 쓰세엽...

    고럼..


  • Profile
    도니 2002.12.14 20:46