yo hice algo similar a lo que queres hacer vos, pero use solamente winsock, si encuentro los archivos, te los mando...
lo unico q me acuerdo es q para cada estado te devuelve un codigo...osea:
si da ocupado te devuelve 255 (por ejemplo, no me acuerdo exactamente)
Busca algo al respecto
Suerte