-Музыка

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Lis3n0k

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 12.05.2008
Записей: 1121
Комментариев: 539
Написано: 2935


ЧП

Вторник, 29 Сентября 2009 г. 21:05 + в цитатник
 (400x300, 38Kb)
Клиент для экспериментов с аккуратным размыканием.

1 #include "etcp.h"

2 int main( int argc, char **argv )

3 {

4 SOCKET s;

5 fd_set readmask;

6 fd_set allreads;

7 int re;

8 int len;

9 int c;

10 int closeit = FALSE;

11 int err = FALSE;

12 char lint 1024 ];

13 char lout [ 1024 ] ;

14 INITO;

15 opterr = FALSE;

16 while ( ( с = getopt( argc, argv, "c" ) ) != EOF )

17 {

18 switch( с )

19 {

20 case 'с' :

21 closeit = TRUE;

22 break;

23 case '?' :

24 err = TRUE;

25 }

26 }

27 if ( err I I argc - optind != 2 )

28 error) 1, 0, "Порядок вызова: %s [-с] хост портп",

29 program_name );

30 s = tcp_client( argv[ optind ], argv[ optind + 1 ] );

31 FD_ZERO( &allreads ) ;

32 FD_SET( 0, &allreads );

33 FD_SET( s, ballreads );

34 for ( ; ; )

35 {

36 readmask = allreads;

37 re = select( s + 1, &readmask, NULL, NULL, NULL );

38 if ( re <= 0 )

39 error( 1, errno, "ошибка: select вернул (%d)", re );

40 if ( FD_ISSET( s, &readmask ) )

41 {

42 re = recv( s, lin, sizeof( lin ) - 1, 0 );

43 if ( re < 0 )

44 error( 1, errno, "ошибка вызова recv" );

45 if ( re == 0 )

46 error( 1, 0, "сервер отсоединилсяп" );

47 lin[ re ] = '';

48 if ( fputs( lin, stdout ) == EOF )

49 error( 1, errno, "ошибка вызова fputs" ) ;

50 }

51 if ( FD_ISSET( 0, &readmask ) )

52 {

53 if ( fgets( lout, sizeof( lout ), stdin ) == NULL )

54 {

55 FD_CLR( 0, &allreads );

56 if ( closeit )

57 {

58 CLOSE( s );

59 sleep( 5 ) ;

60 EXIT( 0 ) ;

61 }

62 else if ( shutdown( s, 1 ) )

63 error ( 1, errno, "ошибка вызова shutdown" ) ,

64 }

65 else

66 {

67 len = strlen( lout );

68 re = send( s, lout, len, 0 );

69 if ( re < 0 )

70 error( 1, errno, "ошибка вызова send" );

71 }

72 }

73 }

74 }

shutdownc.с

Lis3n0k   обратиться по имени Среда, 30 Сентября 2009 г. 13:34 (ссылка)
Это оптимизированный клиент, для дауна.. всмысле отключения. простейший код. Правда почему-то выход тока на 60 строке))
Это для тех у кого его нет, а если хочешь увидеть его воочию что называется.. глазами то просто открой командную строку в Windows и введи пареметр - sutdown с флагом -s Карочь вот так "shutdown -s"
Ответить С цитатой В цитатник
Глаза_в_небо   обратиться по имени Среда, 30 Сентября 2009 г. 14:37 (ссылка)
зачем тебе это?
дорогой, я работаю на сайте... я знаю, что это такое... у меня тут такие спецы сидят... просто зачем тебе это?
Ответить С цитатой В цитатник
Lis3n0k   обратиться по имени Среда, 30 Сентября 2009 г. 15:21 (ссылка)
Ну не буду же я просить Админа пропердоренного сервера о том чтобы он дал мне его права, все делается из по DOS так же легче
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку