Witam, piszę klasę do obsługi gniazdek TCP w WinSock, nazywa
się tak z angielska SimpleTcp ;-)
Mam w niej funkcję Read(), która czyta z gniazda przy pomocy
funkcji recv(), która blokuje wątek do czasu otrzymania danych.
Chciałem dodać do niej taką procedurę, którą posiadają serwery
SMTP czy FTP tzn. po pewnym czasie nieaktywności połączenie zostaje
automatycznie zerwane.
No i chciałem się dowiedzieć, jak coś takiego wykonać [???]
Napisałem, co prawda coś w stylu:
wątek A:
- tworzy wątek B
- recv() z gniazda
- niszczy wątek B
wątek B:
- czeka jakąś ilość czasu
- zamyka gniazdo
(co powoduje że funkcja recv() zwraca -1)
ale nie wydaje mi się żeby każdorazowe tworzenie osobnego
wątku dla każdego wywołania Read() było dobrym pomysłem.
Chociaż może i nie jest to niczym szkodliwym dla programu [???]