www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 21ic電子網(wǎng)
[導(dǎo)讀]深入解析RPC的基本原理

RPC到底是個(gè)啥?舉個(gè)例子告訴你


RPC(Remote Procedure Call),是一個(gè)大家既熟悉又陌生的詞,只要涉及到通信,必然需要某種網(wǎng)絡(luò)協(xié)議。我們很可能用過(guò)HTTP,那么RPC又和HTTP有什么區(qū)別呢?RPC還有什么特點(diǎn),常見的選型有哪些?

1. RPC是什么

RPC可以分為兩部分:用戶調(diào)用接口 具體網(wǎng)絡(luò)協(xié)議。前者為開發(fā)者需要關(guān)心的,后者由框架來(lái)實(shí)現(xiàn)。


舉個(gè)例子,我們定義一個(gè)函數(shù),我們希望函數(shù)如果輸入為“Hello World”的話,輸出給一個(gè)“OK”,那么這個(gè)函數(shù)是個(gè)本地調(diào)用。如果一個(gè)遠(yuǎn)程服務(wù)收到“Hello World”可以給我們返回一個(gè)“OK”,那么這是一個(gè)遠(yuǎn)程調(diào)用。我們會(huì)和服務(wù)約定好遠(yuǎn)程調(diào)用的函數(shù)名。因此,我們的用戶接口就是:輸入、輸出、遠(yuǎn)程函數(shù)名,比如用 SRPC 開發(fā)的話,client端的代碼會(huì)長(zhǎng)這樣:


int main()
{
Example::SRPCClient client(IP, PORT);
EchoRequest req; // 用戶自定義的請(qǐng)求結(jié)構(gòu)
EchoResponse resp; // 用戶自定義的回復(fù)結(jié)構(gòu)

req.set_message("Hello World");
client.Echo(
21ic電子網(wǎng)

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉