czesc !
mam do Was pytanie.
Najpierw kroctki kod:
Code: Select all
if (recv(sock,buff1,sizeof(buff1),0)<0){
perror("can't recive data! (cl)\n");
exit(124);
}
printf ("%s\n",buff1);
gettimeofday(&tv1,&tz1);
getchar();
gettimeofday(&tv2,&tz2);
W tym wycinku kodu chodzi mi o to zeby zmierzyc czas wcisniecia ENTERa, niestety jest maly problem. BO jak widzicie wczesniej jest funkcja recv(), a ona blokuje program do czasu otrzymania jakiejs wiadomosci.. no i w zasadzie to wszytsko byloby ok bo o to mi chodzi tylko, ze jesli uzytkownik wcisnie ENTER podczas gdy recv jeszcze nie otrzyma wiadomosci (niby jest wstryzamny porgram) to zaraz po wyswietleniu printfem tej wiadmosci program uznaje ze dostal juz ENTER (bo uzytkownik juz sobie kiolka razy wcisnal ten klawisz a system zbuforowal to (jak mniemam oczywiscie) ). Wiec moje pytanie do was jest nastepujace :
Jak moge inaczej to napisac luib co powinienem dopisac zeby nastapila blokada ENTERa do momentu wystapienia pierwszego gettimeofday()?
Szukalem nieoc po googlach i widzialem ze mozna cos kombinowac z funkcja systemowa stty, ale dokladnego rozwiazania nie znalazlem..
z gory dziekuje Wam za pomoc