|
이벤트는 꼭 순차적으로 발생한다고 볼 수 없습니다.
이벤트는 말 그대로, 어떠한 Condition이 만족 되었을때 실행이 되는 함수입니다.
물론 말씀하신대로, 일반적으로 데이터를 Post 시키는 정도의 어플이라면
OnConnect -> OnRead -> OnDisConnect 상태로 움직일 수 있습니다. 문제는, OnRead 다음에
일어나는 이벤트는 꼭 정해져 있지 않으므로, 어떠한 작업을 하시기 원하시는지를 알려
주신다면 더 큰 도움을 드릴 수 있을것 같습니다.
다음으로, Address가 N개의 IP를 가지고 있는 것의 처리는 여러가지 방법으로 하실 수 있습니다.
말씀하신대로 한 소켓을 가지고 여러번 연결했다 끊었다 할 수 있고, 여러 소켓을 동적 생성 시켜서
한번에 접속을 하게 할 수도 있습니다. 안정성은 한 소켓을 가지고 여러번 한 것이 시스템 사양도
훨씬 낮아지고 그렇겠지만, 속도상이나 구성상으로는 여러 소켓을 한번에 생성 하는 것도 10개
이하로는 나쁘지는 않은 방법이라 생각합니다.
만약, 하나의 소켓을 가지고 계속 처리를 하신다고 하시면 루프를 돌리는 식으로 해결 하 실 수
있고, 여러개의 소켓의 경우에는 OnRead (서버 Response를 꼭 한번 준다는 가정하) 에서는
OnRead에 넘어온 Sender에 바로 작업하여 처리가 가능합니다.
그런데, 이러한 간단한 소켓 데이터 전송과 N개의 IP라면, TCP 보다 UDP가 훨씬 적합하다고
생각합니다. 별도의 연결 없이 주소 N개만 쭉 뿌려주면 알아서 데이터가 전송되기 때문입니다.
cuperido
앙마 님이 쓰신 글 :
: TClientSocket OnRead이벤트 다음에 일어나는 이벤트가 모죠? Read한담에..그냥.아무이벤트도 안일어 나나요? 그냥 대기상태로 빠지나요?
:
:
:
:
: 앙마 님이 쓰신 글 :
: : ClientSocket이벤트 발생순서가..OnConnect->OnRead->OnDisConnect로 이어지나요?
: :
: : 질문은..버턴 이벤트 받아서..소켓을 하나 동적으로 생성하는데요..
: :
: : 그리고 해당 Address로..Send합니다...그리고 OnRead에서 ....데이터를 처리하고....문제는 하나의 소켓이 생성이 되고 ..OnRead까지 처리해야 하나의 작업을 처리하는데......
: : 그러니까..소켓생성->Connect(?)->O.k라면 Login()-> OnRead이벤트(데이터처리)
: :
: :
: : 이작업을..N번 되풀이를 하려고 하면..
: :
: : 그러니깐 Adddress가..N개의 IP를 가지고 있을때 ..N개에 대해서 모두 이작업을 해줘야 하는데.. 소켓을 N개를 동적으로 생성해야 하나요? 아니면...버턴 이벤트를 받아서 사용자 함수를 호출한다음에 하나의 소켓을 동적으로 생성한다음..OnRead 맨마지막에서 소켓을 지우고..다시 사용자 함수를 불러도 가능한지?? 어떻게 처리해야 하는지 답변좀 부탁드립니다. 빌더사용한지도 얼마 되지 않고 소켓은 첨이라서....이해가 어렵네요..항상 많은 도움을 받고 있습니다. 감사합니다.
: :
: : --빌더 초보--
|