Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++, WinSock] Program się zacina przy wykonywaniu pętli

Ostatnio zmodyfikowano 2013-09-18 21:38
Autor Wiadomość
GGG205
Temat założony przez niniejszego użytkownika
[C++, WinSock] Program się zacina przy wykonywaniu pętli
» 2013-09-18 19:43:59
Witam zmagam się z pewnym problemem. Otóż stworzyłem okienko, które ma przyciski "Utwórz połączenie" i "Rozłącz", ale kiedy klikam na "Utwórz połączenie" to program się zacina i czeka na połączenie się z clientem (kaplica), a kiedy się połączy wszystko wraca do normy. Próbowałem zrobić to na nowym okienku, ale nic też tak samo. Mam do was pytanie, jak zrobić funkcję, która przekazuje dla hosta, że ten client się rozłączył ?

@EDIT: Sprawdziłem na telnecie... i ciągle łączy.

<< Removed by DejaVu - jeden temat = jeden problem >>
P-92296
Revo
» 2013-09-18 21:05:56
Kiedy aplikacja oczekuję na połączenie od klienta to blokuje wykonywanie programu ponieważ funkcja listen() jest tzw. funkcją blokującą, podobnie jak funkcja recv(). Aby tego uniknąć możesz wykorzystać funkcje nieblokujące(no-blocking socket) : Znalazłem coś takiego : No-Blocking Socket mam nadzieję, że się przyda :) Ja osobiście władowałem odbieranie nowych połączeń do osobnego wątku, tak aby nie blokować głównego wątku. Kurde ... O ile pamiętam to kiedy klient się rozłącza to funkcja recv() zwraca -1.

Co do char na string:

C/C++
char tablica[ 10 ];
std::string str = std::string( tablica );

Mam nadzieję, że pomogłem :)
P-92298
GGG205
Temat założony przez niniejszego użytkownika
Dzięki !!!
» 2013-09-18 21:38:47
Revo ! Całuje Ci stopy. Dla mnie jesteś mistrzem, dzięki. Wielkie dzięki !
P-92301
« 1 »
  Strona 1 z 1