Q&A

  • 소켓을 여러개 동시에 사용하는 방법이 궁금합니다.
지금 소켓을 통해 메일 발송을 하는 프로그램을 제작중인데요..



기본적인 테스트는 했습니다.



이제 본격적으로 제작을 해야 하는데, 퍼포먼스를 고려하지 않을 수 없네요..



일단 소켓을 하나 추가하고, 서버에 연결해서, 메세지를 보내고, 답변을 받고 하는 식으로 처리 중입니다.



문제는 메세지를 보내는 건 문제가 아니지만, 답변(250, 220, 500 등)을 받으려면 시간차가 난다는 거죠..

지금은 ondataavailable 이벤트를 이용해서 처리 중입니다.

즉, "mail from: test@test.net"같은 메세지를 보냅니다.

그리고는 응답을 받을 때까지 무한 루프를 돌립니다.

이때 전역변수로 데이타 수신 여부를 체크하고,

ondataavailable이벤트가 발생하면 전역변수의 값을 변경하여,

무한루프를 종료시킵니다.



이렇게 할때 별 문제는 없지만, 문제는 소켓을 여러개 만들어서 동시에 여러개의 메일을 보내야 한다는 겁니다.



일단 쓰레드라는 것을 보고 있는데, 아직 잘 모르겠구요..



제가 원하는 것은 ondataavailable이벤트를 사용하지 않고, 데이타 수신여부를 체크할 수 있는 방법이 없는가 하는 겁니다.

예를 들면 state 같은 속성이 있어서, 현재 통신 상황을 확인할 수 있는 방법이 없는가 하는 겁니다.



두서가 없지만, 관련한 자료라도 좋으니, 답변 부탁드립니다.



0  COMMENTS