网络服务器软件开发/中间件开发,关注ACE/ICE/boost

C++博客 首页 新随笔 联系 聚合 管理
  152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks

#

     摘要: ACE ACE_Get_Opt 命令行  阅读全文
posted @ 2010-11-09 23:53 true 阅读(1032) | 评论 (0)编辑 收藏

ACE_Thread_Mutex的成员, int acquire (ACE_Time_Value *tv);在windows下是不支持的,有些出人意料,之前一直没用过这个参数,今天造轮子,参考ace发现的。

posted @ 2010-10-23 21:44 true 阅读(698) | 评论 (0)编辑 收藏

      IceBox是Ice服务的容器,它的设计来源于Service Configurator模式,该模式采取集中式的策略对服务进行加载,管理,服务被设计为可动态加载的组件,服务主要是动态库的形式,然后按需配置到IceBox,这种方式解耦了服务器和服务,使开发人员更专注于业务逻辑服务的开发。
  IceBox的基本开发步骤:
      1。服务类从IceBox::Service派生
      2。实现服务启动接口:start接口
              3。实现服务关闭接口:stop接口
              4。IceBox加载服务完成时,start接口被调用,start接口一般包含服务初始化的内容,例如申请资源,创建适配器和servantsStop正好和start相反,如果将start理解为服务的构造函数,则stop就是析构函数
   开发实例:已知A点的坐标(x,y),和点集合S,求出S中与A距离最近的点,例子没啥难度,代码就不贴了,附近有详细的代码及必要的注释,想运行实例参考README文件,由于配置文件比较多,做一些说明,配置文件弄明白了,其它的都好理解了。
      1。Config.client,客户端配置文件,主要用来定位服务,主要包含服务的IP,端口,协议,服务的Identity

  2。Config.service,服务的配置文件,主要包含服务的IP(有可能多网卡),端口,协议,和config.client对应
3。Config.Icebox,主要包含需要加载的服务的名字以及服务的创建方式,同时,可以指定服务的配置文件,即config.service;此外还包含,监听iceboxadmin管理工具的连接信息
4。Config.adminiceboxadmin管理工具的配置文件,主要包含连接到icebox的连接信息
5。Config.client和config.service中SSL配置,需要配置有关加密的文件路径,ice的demo中不用配置该路径,是因为已经用相对路径的方式默认提供了
6。这么多的配置文件,不是必须的,只是为了方便组织,文件名是可以变化的,愿意的话,可以都写到一个配置文件

   最后有两点需要特别说明,一是在Ice的安装目录的bin目录下,有两个版本的icebox,release版icebox.exe和debug版iceboxd.exe,开发的服务必须和icebox的版本保持一致,否则icebox无法启动。二是由于IceBox服务是以DLL开发的,如果你用的debug版iceboxd.exe,那么在config.icebox的配置文件中,你传递的DLL的名字,他会自动追加上一个d,比如下面的配置项:IceBox.Service.Location=LocationService:create --Ice.Config=config.service,iceboxd.exe会查找LocationServiced.dll,然后调用该DLL中导出的create函数创建IceBox服务,该服务的配置文件为config.service
 
        www.cppblog.com/Files/true/IceBoxApp.zip
posted @ 2010-10-07 06:09 true 阅读(4281) | 评论 (0)编辑 收藏

     摘要: ICE 模拟 union类型  阅读全文
posted @ 2010-10-03 14:31 true 阅读(1769) | 评论 (1)编辑 收藏

驱动是安装了的,插上之后,可以检测到移动硬盘,但在“我的电脑”不能显示,搜到的原因如下:
windows2003必须分配盘符才可在“我的电脑”中看到,右键“我的电脑”点“管理”,弹出计算机管理界面后再点“磁盘管理”,在右侧下方便会看到未分配盘符的移动硬盘,右键该移动硬盘选择“更改驱动器号和路径”,然后点击“添加”选择一个盘符的编号即可
posted @ 2010-09-30 15:38 true 阅读(506) | 评论 (0)编辑 收藏

IceVisualStudioExtension是ZeroC开发的VS插件,用来根据ice接口文件自动生成对应语言的代码,用了一段时间,发现如下问题:
      1.不稳定,无缘无故的不能自动生成代码
      2.在project文件里面写入了ICE的安装目录,多人协同开发的话,需要有相同的路径,这个问题倒是不大
还在卸载了,自己手动敲slice2cpp ,slice2cs也不麻烦,也可以用python写个脚步实现该功能
posted @ 2010-09-29 16:34 true 阅读(582) | 评论 (0)编辑 收藏

养娃真是不容易,来北京有三天了,最近两天更是忙得连电脑都没开,做父母不容易啊,呵呵,儿子还是很可爱滴。
posted @ 2010-09-26 09:03 true 阅读(566) | 评论 (4)编辑 收藏

     摘要: 内存消息队列是服务器端常用的基础组件,他使得符合生产者-消费者模型的两个线程或两组线程之间的通讯看起来更加清晰  阅读全文
posted @ 2010-09-19 01:01 true 阅读(2225) | 评论 (1)编辑 收藏

主要有三个类:

1.AuctionEntry:

对应拍卖行auctionhouse表的记录;有2个数据持久性相关的成员:DeleteFromDB,SaveToDB

2.AuctionHouseObject

对应拍卖行实例,比如部落拍卖行,联盟拍卖行

3.AuctionHouseMgr

管理多个AuctionHouseObject

这种结构的好处:思路清晰,可归结为Entry-Instance-Mgr层次结构,而且便于向Player类集成,个人感觉邮件系统也应该采取这种结构。

posted @ 2010-09-18 17:37 true 阅读(482) | 评论 (0)编辑 收藏

     摘要: ICE 远程过程调用,远程方法调用,缓存系统  阅读全文
posted @ 2010-09-18 17:32 true 阅读(1174) | 评论 (1)编辑 收藏

仅列出标题
共15页: 1 2 3 4 5 6 7 8 9 Last