所以我一直在寻找不同的方式来创建客户端和服务器程序(在C++中使用可视化工作室),并且我遇到了RPC(远程过程调用)。但我注意到这也使用tcp/ip或udp连接。rpc和普通tcp/udp服务器客户端程序的区别?
那么从使用RPC到基本的tcp/ip或udp连接来连接客户端和服务器有什么不同?
代码例如在RCP完全不同的使用TCP:
reinterpret_cast<unsigned char*>("ncacn_ip_tcp"), // Use TCP/IP protocol.
reinterpret_cast<unsigned char*>("localhost"), // TCP/IP network address to use.
reinterpret_cast<unsigned char*>("4747"), // TCP/IP port to use.
但在其他程序(例如,使用的WinSock)它需要更多的代码 是一个比其他更好吗?
所以RPC需要TCP/IP并且不能用于UDP? – 2013-04-09 11:07:18
@LisaCollins RPC不需要TCP/IP ......它需要一个传输层。可能是TCP/IP,但它也可能是Unix Socket或其他将数据从A传输到B的其他设备,具体取决于某个协议应该使用的要求。 TCP/IP是例如当要求是必须收到请求和回应并且不应该丢失时使用。 – 2013-04-09 13:49:36
那么RPC做了什么,TCP/IP或UDP连接无法完成? – 2013-04-09 14:42:30