next up previous contents
Next: Клиентская часть. Up: Разработка высокоуровневых приложений RPC. Previous: Разделение данных.   Contents

Серверная часть.

Для нее можно использовать оригинальный файл read_dir.c. Необходимо лишь зарегистрировать процедуру и запустить сервер.

Процедура регистрируется с помощью функции registerrpc():

int registerrpc(u_long prognum /* Номер программы сервера */,

  u_long versnum /* Номер версии сервера */,

  u_long procnum /* Номер процедуры сервера */,

  char *procname /* Имя удаленной функции */,

  xdrproc_t inproc Фильтр для кодирования аргументов */,

  xdrproc_t outproc /* Фильтр декодирования результата */);

Полный код rls_svc.c:

#include <rpc/rpc.h>

#include "rls.h"

main()

{

  extern bool_t xdr_dir();

  extern char * read_dir();

  registerrpc(DIRPROG, DIRVERS, READDIR,

  read_dir, xdr_dir, xdr_dir);

  svc_run();

}



2003-12-09