我眼中的RPC

2021-09-07 20:03:22 字數 968 閱讀 7291

要了解rpc前提:

1、網路序列化傳輸(如protobuf 等)

2、非同步知識(task)

3、了解客戶端和伺服器是怎麼發協議

那什麼是rpc?一句話就是rpc是指遠端過程呼叫(這句話到處都有沒意義),我自己理解:rpc訊息和普通資訊相比。就是rpc訊息在普通資訊頭中加入了客戶端用於標識掛起訊息的唯一id即rpcid,用於在伺服器收到訊息後返回透傳回客戶端重新啟用客戶端掛起的非同步方法。

我們以et為例,et中大致分為兩種協議:第一種非rpc協議 和 第二種rpc協議

我們以登陸為例講兩種方式:

協議定義

login_c2g = 10001

login_g2c = 10002

[message(10001)] [protocontract] public partial class message_login_c2g } [message(10002)] [protocontract] public partial class message_login_g2c

第一種非rpc協議:

協議格式:【(10001)協議號】【位元組陣列(message_login_c2g 序列化)】

客戶端把以上包發給伺服器,伺服器解出來,在以相同的格式發給客戶端。這就是普通的協議。

第二種rpc協議

協議格式:【(10001)協議號、rpcid】【位元組陣列(message_login_c2g 序列化)】

rpc 協議格式上就是在發給伺服器的時候包頭加了rpcid。這個id是客戶端發起乙個rpc請求時唯一標識這個請求的乙個id.

伺服器收到協議後,解出包內容後帶上客戶端傳送上來的rpcid返回給客戶端。客戶端收到伺服器返回的訊息找到對應掛起的rpc訊息重新啟用,這就完成了一次rpc的呼叫

我,眼中的詩歌

我,眼中的詩歌 給我一杯茶,乙個幽靜的地方,我好看些詩歌。寫前面 詩歌是一種態度。詩歌是燕子低低地飛過屋簷。詩歌是古代西方 盛行的決鬥。詩歌是人類本身一直都存在的 極為樸素的一種本能。詩歌和性別無關 和身材無關,和你曾看過多少書也沒有直接的 聯絡,造物主將嘴巴賦予人類的同時 也賦予了人類詩歌。詩歌是...

我眼中的委託

首先委託是乙個型別,和int string一樣,我們日常說的委託其實是委託型別的變數,委託的作用就是把方法當成引數來傳遞,將方法賦值給委託型別的變數,然後由這個變數去呼叫執行方法。換個方式,委託沒有具體實現體,因為委託就是叫別人去辦事,自己當然不需要實現了,但是委託別人必須要清楚自己想辦什麼事,這個...

我眼中的Spring MVC

spring mvc 是應用於web應用程式 mvc架構的 c 首先說一下spring mvc框架文件中的一句話 對擴充套件開放 對修改閉合 那麼特點就來了 高擴充套件性 這是它最大的特點還有 友好的設計的結構,思想,引數繫結,允許其他mvc的實現等等 總的來就是簡單易用 在這裡只是簡單介紹一下有哪...