.Net 8.0 除gRPC之外的另一個選擇,IceRPC之快速開始HelloWorld

xlgwr發表於2024-03-20

作者引言

  • 很高興啊,我們來到了第一篇,程式設計師的HelloWorld,快速開始RPC之遊

快速入門

演示如何在幾分鐘內,使用IceRPC,構建和執行一個完整的客戶端-伺服器(C/S)應用程式.

必要條件: 只要電腦安裝 .NET 8 SDK 就行了.

來吧,開始你的RPC之旅

接下來,我們要一起構建一個簡單的網路應用程式,包括如下:

  • 服務端: 一個叫 greeter 服務的伺服器
  • 客戶端: 與伺服器建立連線,並註冊greeter服務,之後呼叫服務greet方法

客戶端與伺服器都是使用普通的控制檯應用程式,沒有Asp.net,沒有依賴注入,簡單吧.

來,我們開始:

第一步,我們先安裝一個dotnet模板(開啟cmd或terminal),可以快速生成,啟動專案:

dotnet new install IceRpc.Templates

接下來,我們建立一個服務端:

直接用剛安裝的模板,用 icerpc-slice-server 建一個服務MyServer,如下示:

dotnet new icerpc-slice-server -o MyServer

上面執行後,會生成 IceRPC + Slice 整合服務端專案,生成在目錄 MyServer 下.

接下來,差不多,我們也用另一個模板 icerpc-slice-client 生成一個客戶端叫MyClient:

dotnet new icerpc-slice-client -o MyClient

上面執行後,會生成 IceRPC + Slice 整合客戶端專案,生成在目錄 MyClient 下.

現在,我們完成了客戶端與服務端的生成,來,我們執行它吧.

啟動服務端

進入剛生成的服務端目錄MyServer,執行如下指令:

cd MyServer
dotnet run

伺服器現在正在偵聽來自客戶端的新連線:

dbug: IceRpc.Server[11]
      Listener 'icerpc://[::0]?transport=tcp' has started accepting connections

啟動客戶端

開啟另一個CMD或terminal,來啟動客戶端:

cd MyClient
dotnet run

客戶端向伺服器託管的服務傳送一個greet請求:

dbug: IceRpc.ClientConnection[3]
      Client connection from '[::1]:61582' to '[::1]:4062' connected
info: IceRpc.Logger.LoggerInterceptor[0]
      Sent request greet to icerpc:/VisitorCenter.Greeter over
      [::1]:61582<->[::1]:4062 and received a response with status code Ok
Hello, Reece!
dbug: IceRpc.ClientConnection[6]
      Client connection from '[::1]:61582' to '[::1]:4062' shutdown
dbug: IceRpc.ClientConnection[5]
      Client connection from '[::1]:61582' to '[::1]:4062' disposed

接下來

祝賀,我們已經成功建立了第一個IceRPC應用程式,RPC大門已為您開啟.

作者結語

  • 從第一行翻譯開始,檢視各種翻譯,比如 百度翻譯,有道翻譯,加上自已的理解,有點小累啊
  • 翻譯的不好,請手下留情,人也要成長的,謝謝
  • 如果對我有點小興趣,如可加我個人微信哦,大家交個朋友,一起探討人生。
  • 覺得還不錯的話,點個
    image

相關文章