Лекция за RPC
| Информационни технологии | 2009-12-04 | 37 сваляния |
Exception handling в RPC механизма
RpcTryExcept RpcTryFinally RpcExcept(израз)
RpcEndExcept .
пример:
RpcTryExcept {
if( ) { /* изпълняваме RPC повиквания */ }
RpcExcept(1)
{ while (проверка състояние на сървъра)
// изчакай нормално съст. на сървъра
}
RpcEndExcept
Пример на кл/сървър приложение с RPC
клиент: pizza.h (от MIDL компилатор)
#include <</B>stdio.h> #include rpc.h
#include #include rpcndr.h
#include pizza.h #ifndef конст., интерфейси
void main(void) void RPC_FAR* _RPC_USER MIDL_user_allocate(size_t);
{ RpcTryExcept . MIDL_user_free( void RPC_FAR *);
pizzaRPC(order a pizza); void pizzaRPC ( /*[string][in] */ unsigned char
ShutDown(); _RPC_FAR *string);
RpcExcept(1) void ShutDown( void);
printf( we have an exception in RPC);
RpcEndExcept extern RPC_IF_HANDLE pizza_ClientIfHandle;
} extern RPC_IF_HANDLE pizza_ServerIfHadle;

RPC процедурите:
#include STDLIB.H
#include STDIO.H
#include
#include pizza.h
void pizzaRPC(unsigned char * string)
{.}
void ShutDown(void)
Тагове от реферата: rpctryfinally, мехниз, екция, HANDLING, exception, RPCTRYEXCEPT











