Ice中间件
moxiaomomo
虚怀若谷,大爱无疆
展开
-
Ice笔记--C++线程与并发(二)
线程1.Thread类 1.1概述 Ice中的基础线程是由ThreadControl类和Thread类来提供的(在IceUtil/IceUtil.h中定义): Thread类是一个抽象基类,拥有一个纯虚方法run。要创建线原创 2011-08-31 21:43:57 · 6995 阅读 · 0 评论 -
Ice笔记---分布式架构草图
这是一个分布式应用程序架构的草图。仅作为Ice学习的一点小结。1)Client指的是我们通常意义上的客户端。比如在一个网页游戏中,它可以是以flash实现的网页客户端。2)GateWay指的是服务器端的通信模块(NetService)。它负责与客户端进行通信,同时原创 2011-09-12 21:35:57 · 9871 阅读 · 1 评论 -
Ice笔记--Ice的服务器实现技术
服务器实现技术 1. 渐进的初始化如果我们使用servant定位器,locate返回的servant只能用于当前请求,也就是说Ice run time不会把这个servant增加到Active Servant Map中。一种常用的实现技术是,在loca原创 2011-09-14 15:00:02 · 3667 阅读 · 0 评论 -
Ice读书笔记--- TreadControl类的join与detach方法
在Ice中创建线程很简单,假设有一个名为ReaderThread的线程类,则可以这样创建线程: class ReaderThread : public IceUtil::Thread { virtual void run() {原创 2011-09-07 13:22:56 · 1742 阅读 · 0 评论 -
Ice读书笔记--中间件概念与Ice综述(二)
二。Ice综述 1.3)Slice(Ice规范语言) 1.3.1)概述 每个Ice对象都有一个接口,该接口具有一些操作。接口、操作,还有在客户与服务器间交换的数据类型,都是用Sli原创 2011-08-28 15:28:47 · 4576 阅读 · 0 评论 -
Ice读书笔记--中间件概念与Ice综述(一)
一。中间件 1.简介 简单来说,中间件就是一种独立的系统软件或者某种服务应用程序。中间件处在客户端与服务器端的操作系统之上,主要负责网络资源管理和网络通信。中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基原创 2011-08-28 10:49:50 · 2918 阅读 · 0 评论 -
Ice笔记--Ice信号处理机制
Ice信号处理机制概述 信号(signal)是一种进程间通信机制,它给应用程序提供了一种异步的软件中断,使应用程序有机会接受其他程序或者终端发出的命令(信号)。应用程序接收到信号后,一般有三种处理方式:忽略,默认,或者捕捉。如果我们自定义了信号处理函数,那么程序原创 2011-09-09 15:04:58 · 3890 阅读 · 0 评论 -
Ice笔记--C++线程与并发(小结)
C++线程与并发(Ice3.4.2)概述Ice服务器是多线程模型的。在涉及资源的访问和操作的时候将要考虑同步访问机制。Ice线程库提供了一些与线程有关的抽象:互斥体,递归互斥体,读写递归互斥体,监控器,一个线程抽象,允许开发者创建,控制,销毁线程。 1.互原创 2011-09-01 23:29:36 · 4757 阅读 · 0 评论 -
Ice笔记--服务端的Slice-to-C++
一、初始化和结束服务器端Ice run time 初始化和结束服务器端Ice run time的实现可分为三种方式:常用main函数实现,利用Ice::Application类实现,利用Ice::Service类等。 1)服务端main函数原创 2011-08-26 10:06:21 · 3646 阅读 · 1 评论 -
读书笔记--Slice-to-C++映射
客户端的Slice-to-C++映射 1. 引言其映射定义:怎样把Slice数据类型翻译成C++类型,客户怎样调用操作、传递参数、处理错误。C++映射完全是线程安全的。例如,类的引用机制针对并行访问进行了互锁,所以如果有许多线程共享一个类实例,引用计数原创 2011-08-24 13:13:05 · 2160 阅读 · 0 评论 -
Ice 读书笔记--Slice语言
Slice语言 1. Slice(Specification Language for Ice)是一种用于使对象接口与其实现相分离的基础性抽象机制。因为Slice描述的是接口和类型,它是一种纯粹的描述性语言;因此无法用slice语言来编写可执行语句。2. 编译原创 2011-08-22 22:04:51 · 3911 阅读 · 0 评论 -
Ice笔记---Ice Run Time详述(二)
Servant定位器 之前 介绍了ASM表(servant活动映射表)的作用。不过他也会有一些限制,因为如果是使用适配器的ASM来把Ice对象映射到servents,那么会有一些影响:(1)每个Ice对象都有一个不同的servant代表。(2)所有Ice对象的所有serv原创 2011-09-12 16:54:22 · 3676 阅读 · 1 评论 -
ubuntu安装Ice-3.4.2记录
安装Ice3.4.2之前,应该下载并安装其依赖库。经过了n此安装失败后,最后终于弄好了。两个字,苦逼。具体过程如下: 1. 下载第三方包和Ice源文件:http://www.zeroc.com/download.html(官方下载页面) 在Source Dist原创 2011-09-04 15:41:46 · 4030 阅读 · 0 评论 -
Ice笔记---Ice属性与配置
1. 概述Ice使用了一种配置机制,允许我们控制自己的Ice应用在运行时的许多行为,比如最大消息尺寸、线程数,是否产生网络跟踪消息。这种机制不仅能用于配置Ice,还可以用它来给自己的应用提供配置参数。 2. 属性Ice及其各子系统是通过属性(p原创 2011-09-12 10:08:34 · 9561 阅读 · 0 评论 -
Ice笔记---Ice run time详述(一)
1.Ice Run Time 概述 按照个人暂时的理解,Icerun Time具体是指Ice封装好了大部分的API,通过这些API实现分布式应用程序运行时的各种功能。 首先,其中一个重要的部分是通信器,它是Ice run time的主句柄,也是Ice run ti原创 2011-09-09 16:22:11 · 5620 阅读 · 3 评论 -
Ice笔记---异步程序设计demo
最近学习了异步通信这一章:异步包括服务端的异步分派(AMD)以及客户端的异步调用(AMI)。下面介绍一下如何实现简单的异步通信(主要实现了客户端的异步调用,AMD暂未体现): 1.首先编写Ice文件:Demo.icemodule Demo{ interfac原创 2011-09-08 22:39:02 · 3868 阅读 · 2 评论 -
Ice读书笔记--C++线程与并发(一)
C++线程与并发1. Ice线程模型 Ice服务器是多线程的。服务器端run time维护有一个线程池,用于处理到来的请求。通过领导者-跟随者线程模型,客户发来的每个操作调用都会在其自己的线程中被分派。 多线程意味着,来自客户的多个调用可以在服务器中并发执行。Ice线程库提供了许多同步原语,比如简单互斥体,读写锁,以及监控器等;这些同步原语允许实现不同力度的并发原创 2011-08-29 20:59:26 · 3951 阅读 · 2 评论