您的位置:首页 > 理论基础 > 计算机网络

高性能Socket组件和RPC,让你像写本地代码一样开发网络应用和分布式程序

2016-01-12 22:18 603 查看
最近想试试C#能不能写出高性能的分布式组件,于是写了一个双工RPC,也当练手,下面是单连接的测试结果,非常给力。
机器配置:U:E1230-v2,内存:ddr3-8G

1、递归调用
过程:Client向Server调用方法,Server的方法内部再调用一次Client的方法,拿到结果后计算结果返回给Client.



2、单向调用
过程:client调用Server的方法



哈,性能非常给力吧,我也没想到性能这么给力。

用RPC开发一个分布式应用或者网络应用非常简单,下面粘点代码

Server端:





就这么简单,服务器的类只需要继承自ServerController,里面的方法客户端就能直接调用,图中注释的代码就是代码内部反向调用Client端的方法,方法体内部支持Session上下文,可以很方便的操作,图中的BroadCast方法就是使用Session上下文给所有在线的用户发送广播信息

client端:



就这么简单,只需要提供Server端的方法的接口,就能像使用本地方法一样调用服务器的方法。

图中的ISCaculator接口就是服务器端的Caculator类的接口,可以和图1对比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: