05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

22 setvbuf( stdout , NULL, _IOLBF , 0 );<br />

23<br />

24 action.sa_handler = signal_handler;<br />

25 sigemptyset( &action.sa_mask );<br />

26 action.sa_flags = 0;<br />

4.1 Erste Schritte <strong>mit</strong> telnet <strong>und</strong> inetd 155<br />

27<br />

28 if( sigaction( SIGALRM , &action , &old_action ) < 0 )<br />

29 {<br />

30 printf( "Konnte Handler nicht installieren: %s.\n",<br />

31 strerror( errno ) );<br />

32 return( EXIT_FAILURE );<br />

33 }<br />

34<br />

35 printf( "Sie haben 20 Sek<strong>und</strong>en für die Antwort:\n" );<br />

36 printf( "Was ißt Sir Quickly am liebsten?\n" );<br />

37<br />

38 alarm( 20 );<br />

39<br />

40 fgets( eingabe , sizeof( eingabe ), stdin );<br />

41<br />

42 /* Abschließende Zeilentrenner \n <strong>und</strong> \r entfernen */<br />

43 for( i = strlen( eingabe ) - 1; i >= 0 &&<br />

44 ( eingabe[i] == ’\n’ || eingabe[i] == ’\r’ ); i -- )<br />

45 eingabe[i] = ’\0’;<br />

46<br />

47 if( strcmp( eingabe , antwort ) == 0 )<br />

48 printf( "Die Antwort ist richtig. Gratulation.\n" );<br />

49 else<br />

50 printf( "Leider falsch , richtig ist %s", antwort );<br />

51<br />

52 exit( EXIT_SUCCESS );<br />

53 }<br />

Ein weiterer Testlauf offenbart allerdings schon die nächste Schwäche des Programms.<br />

Trotz der Eingabe der richtigen Lösung besteht das Programm darauf,<br />

daß die gegebene Antwort falsch sei:<br />

$ telnet localhost quiz<br />

Trying...<br />

Connected to localhost.<br />

Escape character is ’^T’.<br />

Sie haben 20 Sek<strong>und</strong>en für die Antwort:<br />

Was ißt Sir Quickly am liebsten?<br />

Himbeerjoghurt<br />

Leider falsch, richtig ist Himbeerjoghurt<br />

Connection closed.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!