ICE源码研究

简介:

ICE 3.2发布了。

http://www.zeroc.com/forums/announcements/3019-ice-3-2-released.html

使用C++开发分布式应用,ICE是个非常不错的平台。而基于ICE的协议,其分布式通信架构实际支持了多种语言和多种平台,包括C++,JAVA,C#,VB.NET等等。

据称国内有些公司开发的网管软件,或桌面管理软件,都在采用ICE内核。

同样的,使用C#实现的ICE也是非常好的编程学习资料,我整理了一下C#源码,使之能够在VS2005中编译生成。

通过查看ICE的C#源码,发现其很多地方的代码还是有很多优化的可能的,看来ZeroC并没有在.NET上投入太多的精力,C#的实现并无C++的实现那么优雅。站在.NET巨人的肩膀上,ICE的.NET实现远比C++实现所用的代码量要少的多。

但是,ICE的 .NET实现中,对Socket通信的封装非常高效,大家如果在使用Socket通信,不妨借鉴这不妨代码,当然,我也尝试对这部分代码重写,使之使用.NET 2.0的最新API,并支持IPv6等等特性。

下面的链接是ICE for VS 2005 源码项目的下载地址:

ICE 3.2.1 for VS 2005 源码项目

希望能和关注ICE的朋友一起研究,交流心得。




本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2007/09/03/880626.html,如需转载请自行联系原作者

相关文章
|
11月前
|
Ubuntu Shell Linux
专为Intel Arc GPU设计:oneAPI的详细图文安装教程
本次我们基于Intel Arc系列的GPU,在windows的WSL上安装oneAPI, 之前发表过纯CPU,通过VM虚拟机的方式,而现在我们在WSL上实现GPU版本的安装
368 0
|
存储 JavaScript 前端开发
阿里飞冰(ice)框架下国际化实践
阿里飞冰国际化方案
767 0
|
敏捷开发 消息中间件 开发框架
一代版本一代神:利用Docker在Win10系统极速体验Django3.1真实异步(Async)任务
Django官方发布3.0版本,内核升级宣布支持Asgi,这一重磅消息让无数后台研发人员欢呼雀跃,弹冠相庆。大喜过望之下,小伙伴们兴奋的开箱试用,结果却让人大跌眼镜:非但说好的内部集成Websocket没有出现,就连原生的异步通信功能也只是个壳子,内部并未实现,很明显的换汤不换药,这让不少人转身投入了[FastAPI](https://v3u.cn/a_id_167)的怀抱。不过一年之后,今天8月,Django3.1版本姗姗来迟,这个新版本终于一代封神,不仅支持原生的异步视图,同时也支持异步中间件,明显整了个大活。
一代版本一代神:利用Docker在Win10系统极速体验Django3.1真实异步(Async)任务
|
Web App开发 调度 ice
WebRTC ICE 状态与提名处理
大家都知道奥斯卡有提名,其实在 WebRTC 的 ICE 中也有提名,有常规的提名,也有激进的提名,而且提名的候选人不一定是最优秀的候选人喔,本文就带你一探其中玄妙。文章内容主要描述 RFC 5245 中 ICE 相关的状态和 ICE 提名机制,并结合 libnice(0.14) 版本进行分析。
WebRTC ICE 状态与提名处理
|
存储 NoSQL Java
titan0.1源码研究(1)
为什么是titan0.1?因为代码量小,后面的代码都是从0.1发展来的,代码量是增加了,但是代码结构基本没变。titan-0.1有3万多行代码,而且还没有弄成maven的多模块。用来学习正好。等熟悉了再跟后面的版本比对,看看哪些地方更新了。
1914 0
|
自然语言处理 Java C++
|
存储 C# 数据库