Q&A

  • 소켓 문제인데요.!!!!!
너무 급해서요.

ClientSocket으로 Data를 수신 받는데 Event순서 가 궁금합니다.
저의 의도는

1) DB에서 Query후 처리 과정수행
2) ClientSocket1.active:=true;
3) onConnect event 수행
4) onRead event
5) Read한 값을 화면에 Display
6) DB에 값을 저장

이런 순서를 원하고 또 그렇게 코딩을 했거든요.
근데, 6)번 DB에 저장을 하려는시점에서 Read한값 즉 5)번 수행이
되지 않고 6)번이 끝나야 4)번 onRead Event로 가더군요.
즉, 1),  2), 3), 6), 4), 5) 이런 순입니다.

1)~ 6)번 순서로 진행되려면 어떻게 해야 하나요??

시간이 너무 촉박합니다.
빠른 답변 부탁드립니다.
2  COMMENTS
  • Profile
    Fisher 2003.06.10 03:49

    우선 데이터를 주는 쪽이 연결을 끊는 것을 염두에 두지 않고 설계되어
    있으면 1~6은 반복될 수 없습니다. 주는 놈도 한 번 주고 연결을 끊어야
    2)를 다시 수행할 수 있습니다.

    - 블락킹 인디 소켓이 좋을 것 같습니다 이런 경우에는 좀 정적으로
      컨트롤이 필요하군요.

    - DB에 저장하는 속도와 패킷이 오는 속도를 유심히 보세요. 보틀넥이
      될수도 있습니다.

  • Profile
    ㉯㉰감자 2003.06.10 03:40
    어떻게 코딩을 하셨는지는 모르겠지만

    6번이 먼저 되었다는게 이해가 가질 않는군요

    OnRead이벤트에서 5) 6)을 호출하는것이 아닌가요?

    아니라면 OnRead에서 데이터를 수신해서

    5)호출 그다음 6)호출 해보십시오