지금 소켓을 통해 메일 발송을 하는 프로그램을 제작중인데요..
기본적인 테스트는 했습니다.
이제 본격적으로 제작을 해야 하는데, 퍼포먼스를 고려하지 않을 수 없네요..
일단 소켓을 하나 추가하고, 서버에 연결해서, 메세지를 보내고, 답변을 받고 하는 식으로 처리 중입니다.
문제는 메세지를 보내는 건 문제가 아니지만, 답변(250, 220, 500 등)을 받으려면 시간차가 난다는 거죠..
지금은 ondataavailable 이벤트를 이용해서 처리 중입니다.
즉, "mail from: test@test.net"같은 메세지를 보냅니다.
그리고는 응답을 받을 때까지 무한 루프를 돌립니다.
이때 전역변수로 데이타 수신 여부를 체크하고,
ondataavailable이벤트가 발생하면 전역변수의 값을 변경하여,
무한루프를 종료시킵니다.
이렇게 할때 별 문제는 없지만, 문제는 소켓을 여러개 만들어서 동시에 여러개의 메일을 보내야 한다는 겁니다.
일단 쓰레드라는 것을 보고 있는데, 아직 잘 모르겠구요..
제가 원하는 것은 ondataavailable이벤트를 사용하지 않고, 데이타 수신여부를 체크할 수 있는 방법이 없는가 하는 겁니다.
예를 들면 state 같은 속성이 있어서, 현재 통신 상황을 확인할 수 있는 방법이 없는가 하는 겁니다.
두서가 없지만, 관련한 자료라도 좋으니, 답변 부탁드립니다.