
Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Тестовые примеры / ch12 / msg2 / msg_cls2
.C/* client program: using low-level RPC APIs */
#include "msg2.h"
#include "RPC.h"
int main(int argc, char* argv[])
{
if (argc<3) {
cerr << "usage: " << argv[0] << " host msg <nettype>\n";
return 1;
}
/* create a client handler to a RPC server */
RPC_cls cl( argv[1], MSGPROG, MSGVER, argc>=4 ? argv[3] : "netpath");
if (!cl.good()) return 1;
/* call the printmsg RPC function. return value is set to res */
int res;
if (cl.call( PRINTMSG, (xdrproc_t)xdr_string, (caddr_t)&argv[2],
(xdrproc_t)xdr_int, (caddr_t)&res) != RPC_SUCCESS)
return 3;
/* check RPC function's return value */
if (res!=0)
cerr << "clnt: call printmsg fails\n";
else cout << "clnt: call printmsg succeeds\n";
return 0;
}