.Net 8.0 下的新RPC,IceRPC之如何建立連線connection

xlgwr發表於2024-05-05

作者引言

很高興啊,我們來到了IceRPC之如何建立連線connection,基礎引導,讓自已不在迷茫,快樂的暢遊世界。

如何建立連線connection

學習如何使用IceRPC,建立和接受連線。

連線有什麼用途?

連線在 IceRPC 中發揮著核心作用: 透過連線向服務端傳送請求,然後透過同一連線收到響應。 在此連線的另一端,IceRPC 接收此請求,將其交給服務端,然後傳送回服務端返回的響應。

當應用程式建立與服務端的連線時,該連線就是"客戶端連線"。當服務端接受客戶端的連線時,該連線稱為"服務端連線"。
一旦建立連線,客戶端連線和服務端連線之間就沒有區別。可以使用相同的API,在客戶端連線或服務端連線上進行呼叫(傳送請求並接收相應的響應)。任何連線,無論是客戶端還是服務端,都可以接受傳入的請求,並將這些請求傳送到服務端。

建立客戶端連線

C# 中,可以使用 ClientConnection 類或 ConnectionCache 類建立客戶端連線。例如:

using IceRpc;

await using var clientConnection = new ClientConnection(new Uri("icerpc://hello.zeroc.com"));

ClientConnection 的建構函式指定了伺服器的地址,但實際上並未建立連線。連線稍後透過非同步呼叫(例如 ConnectAsyncInvokeAsync)建立:

// establishes the connection explicitly
await clientConnection.ConnectAsync();

客戶端連線維護單個活動連線:連線到伺服器的(客戶端)連線。

連線快取connection cache維護伺服器地址到(客戶端)連線的字典快取。每個連線都連線到不同的伺服器。連線快取有助於定位和重用這些連線。

建立服務端

在服務端,接受與伺服器Server類例項的服務端連線。該服務端監聽並接受其配置的伺服器地址上的新連線。

在 C# 中, 這又是兩步過程, 首先構建一個伺服器Server例項, 然後呼叫 Listen 方法:

using IceRpc;

// constructs and configures server
await using var server = new Server(...);

// starts listening for new connections
server.Listen();

服務端接受連線並記住它接受了哪些連線。服務端可以方便的關閉這些連線。

總結

雖然簡短,但很重要,一個連線,建立萬物互聯,引起一個五彩斑斕的世界。

作者結語

  • 一直做,不停做,才能提升速度
  • 翻譯的不好,請手下留情,謝謝
  • 如果對我有點小興趣,如可加我哦,一起探討人生,探討道的世界
  • 覺得還不錯的話,點個
    image

相關文章