.Net 8.0 下的新RPC,IceRPC之如何创建连接connection
作者引言
很高兴啊,我们来到了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 的构造函数指定了服务器的地址,但实际上并未建立连接。连接稍后通过异步调用(例如 ConnectAsync 或 InvokeAsync)建立:
// 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();
服务端接受连接并记住它接受了哪些连接。服务端可以方便的关闭这些连接。
总结
虽然简短,但很重要,一个连接,创建万物互联,引起一个五彩斑斓的世界。
作者结语
- 一直做,不停做,才能提升速度
- 翻译的不好,请手下留情,谢谢
- 如果对我有点小兴趣,如可加我哦,一起探讨人生,探讨道的世界。
- 觉得还不错的话,点个赞哦

.Net 8.0 下的新RPC,IceRPC之如何创建连接connection的更多相关文章
- Windows平台VC++ 6.0 下的网络编程学习 - 简单的测试winsock.h头文件
最近学习数据结构和算法学得有点累了(貌似也没那么累...)...找了本网络编程翻了翻当做打一个小基础吧,打算一边继续学习数据结构一边也看看网络编程相关的... 简单的第一次尝试,就大致梳理一下看书+自 ...
- Ubuntu18.04和OpenWrt 18.06.0 下使用aria2和BaiduExport处理百度盘下载
Ubuntu下没有可用的百度盘客户端, 下载大文件如果通过浏览器就会特别不可靠. 可以使用Chrome插件 BaiduExport 得到下载链接和参数后, 通过aria2进行下载. Aria2安装 直 ...
- Ubuntu14.0下安装Zend Framework 2
Ubuntu14.0下安装Zend Framework 2为了安装这个东西,忙活了快一天了,参考中文博客一直没有安装成功,有些博客的时间也是已经很早了,后来google看英文版的才安装成功,这里记录一 ...
- 有史来最大改变 Android 5.0十大新特性
有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 ) 距离Android系统上一次重大更新不到一年的时间,谷歌 ...
- Android下添加新的自定义键值和按键处理流程
Android下添加新的自定义键值和按键处理流程 说出来不怕大家笑话,我写这篇博客的原因在于前几天去一个小公司面试Android系统工程师,然后在面试的时候对方的技术总监问了我 ...
- .NET Framework4.0 下的多线程
一.简介 在4.0之前,多线程只能用Thread或者ThreadPool,而4.0下提供了功能强大的Task处理方式,这样免去了程序员自己维护线程池,而且可以申请取消线程等...所以本文主要描述Tas ...
- NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图
如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0 本书实例背景是 Express 2.0 而如今升级 ...
- 【CNMP系列】CentOS7.0下安装PHP5.6.30服务
上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.co ...
- 【CNMP系列】CentOS7.0下安装Nginx服务
话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...
- 【Linux】CentOS7.0下安装JDK环境
写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...
随机推荐
- 取cookie时报错“[object Object]“ is not valid JSON
做谷粒学苑项目时,在保存登录状态环节出现该问题 取cookie时老师强调要使用JSON.pase()解析cookie为json对象 var userStr = cookie.get("gul ...
- KingbaseES V8R6 集群运维系列 -- trusted_server
案例说明: 在KingbaseES V8R3及V8R6早期的版本,对于读写分离的集群如果网关地址无法连通,将会导致整个集群关闭,数据库服务无法访问.在后期版本的改进中,降低了对网关的依赖性,当网关地址 ...
- html中怎样获取子元素的索引位置
jQuery 的 index() 方法返回指定元素相对于其他指定元素的索引值, 注意:索引值是从0开始计数的. 获得当前元素的索引值可用click事件触发 1 $(selector).click(fu ...
- Linux C++ 连接 MySQL
安装MySQL 可以参考这篇文章<在Ubuntu上安装MySQL> 连接 具体可以看官方的MySQL参考手册 示例代码 #include<iostream> #include& ...
- 5W1H聊开源之What——开源协议有哪些?
开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议.开源协议规定了用户在使用开源软件时的权利和责任,虽然不一定具备法律效力,但是当涉 ...
- #第一类斯特林数,NTT#CF960G Bandit Blues
题目 给你三个正整数 \(n\),\(a\),\(b\),定义 \(A\) 为一个排列中是前缀最大值的数的个数, 定义 \(B\) 为一个排列中是后缀最大值的数的个数,求长度为 \(n\) 的排列中满 ...
- #带权并查集#HDU 3038 How Many Answers Are Wrong
题目 有未知的\(n\)个数,有\(m\)组询问,形如区间和等于给定值, 问有多少条错误的询问,一旦错误忽略此条询问 \(n\leq 2*10^5,m\leq 4*10^4\) 分析 用带权并查集,记 ...
- SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束
SQL NOT NULL 约束 SQL NOT NULL 约束用于强制确保列不接受 NULL 值.这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值. 在 CREATE TA ...
- std::string 拼接字符串
#include <iostream> #include <string> #include <sstream> int main() { // 方法一:12345 ...
- 应用可靠性与性能不给力?HarmonyOS HiViewDFX了解一下
原文链接:https://mp.weixin.qq.com/s/Y44jUEB3ttlijbMDPrBcNg,点击链接查看更多技术内容: 作为基础软件服务子系统的HarmonyOS HiViewD ...