на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить




Листинг 16.5. Функция main клиента многопоточного сервера

//sunrpc/square3/client.c

1  #include "unpipc.h"

2  #include "square.h"


3  int

4  main(int argc, char **argv)

5  {

6   CLIENT *cl;

7   square_in in;

8   square_out out;

9   if (argc != 3)

10   err_quit("usage: client ");

11  cl = Clnt_create(argv[1], SQUARE_PROG, SQUARE_VERS, "tcp");

12  in.arg1 = atol(argv[2]);

13  if (squareproc_2(&in, &out, cl) != RPC_SUCCESS)

14   err_quit("%s", clnt_sperror(cl, argv[1]));

15  printf("result: %ld\n", out.res1);

16  exit(0);

17 }


Листинг 16.4. Процедура сервера с 5-секундной паузой | UNIX: взаимодействие процессов | Объявление переменной для помещения результата