Windows网络编程:RPC与WinSock技术详解
1. RPC与Echo Server
RPC(远程过程调用)是一种允许程序调用位于远程计算机上的过程的技术,在构建客户端 - 服务器系统的通信基础设施中发挥着重要作用。Echo Server是一个基于RPC的Win32服务示例,它使用RPC与客户端进行通信,将客户端发送的字符串原样返回。
Echo Server支持隐式绑定句柄,并通过名为Echo的接口导出其功能,该接口只有一个函数EchoProc()。以下是相关代码示例:
// ACF File implicit_handle (handle_t Echo_If Handle) ] interface Echo // IDL File [ uuid ( 9 0 6BOCEO-C70B- 1 0 67-B3 1 7 - 0 0DD0 1 0 6 6 2 DA), version ( 1 . 0 ), pointer_default (unique) interface Echo #define MAX_OUTPUT_LEN 128 cpp_quote ( " #define MAX_OUTPUT_LEN 12 8 " ) void EchoProc ( [ in , string] char * pszString , [ out, string ) ;在服务器端,需要进行一系列的初始化和注册操作,包括注册协议序列、端点和接口等。以下是部分代码:
// FILE : ECHOS.C - Implement