Witam,
Dokladnie chodzi o "gadanie" z serwerem SMTP. W tym celu używam klasy wxSocketClient, utworzonej w osobnym wątku.
Jednak mam problem z interpretacją odpowiedzi serwera. Chodzi o to, zeby w zaleznosci od tego co serwer odpowie (albo jak rozlaczy), wątek "nie pchał" danych na siłę do zamkniętego połączenia.
Jak zaimplementować natychmiastowe odebranie odpowiedzi poza wątkiem gui (czyl w tym samym wątku, który utworzył socketa).
Próbowałem po każdym Write dać Read. Niestety to nie tak działa jak chcę - wygląda na to, że komunikaty są w jakiś dziwny sposób buforowane (nie mogę dojść w jaki) tak, że to co pobierze Write jest nieaktualne, czasami z kolei nie pobierze nic... czasami spowoduje wywalenie się programu...
Jedyny sposób na prawidłowe odczytanie komunikatu, to przekazanie ich poprzez ewent do wątku GUI (standardowy even socketa) - jednak to akurat mi nic nie daje, bo zanim wątek główny zinterpretuje te komunikaty i zatrzyma wątek socketa, wątek operujący na sockecie "wepchnie" mnóstwo niepotrzebnych danych, a jezeli serwer zerwał połączenie lub przestał akceptować dane, to spowoduje to wywalenie programu.
Jaki jest na to sposób? Mam nadzieje ze wystarczająco jasno wytlumaczylem o co mi chodzi. Pewnie biore sie za to od d... strony, ale innego pomyslu nie mialem