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

C++博客 首页 新随笔 联系 聚合 管理
  152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks
共4页: 1 2 3 4 
re: 2013我有梦[未登录] true 2013-02-28 12:34
支持一吧!实践梦想需要极大的努力
温馨,感动
re: thrift:绝对值得研究 true 2011-09-26 01:45
还有努力开发中的msgpack:http://msgpack.org/
re: ICE Service使用方法简介 true 2011-07-11 22:11
我又查了下手册,应该不支持
re: ICE Service使用方法简介 true 2011-07-10 21:13
现在也支持http了吗
真戒qq?我在机场忙里偷闲上来看看,刚看见一个穿着长袍的道士(?)过去
mongos里面的ByteBuffer确实好用,以前也做过把他单独提取出来,再添加几个方法使用
@whappyo
先用抓包工具wireshark检查是否能抓到包,如果能,就仔细检查下附带的实例代码,代码中都有详尽的注释,可以尝试调整一下参数,另外winpcap是抓不到loopback的包的,也就是抓不到同一主机内部通讯的包。
常见的一种需求:把一个客户端的处理始终绑定到某一个线程,就是说各个请求之间是有时序要求的。线程池的自适应要考虑一下这个问题
@baiyundsh
很久以前写的文章,具体细节记不太清楚了。原文的意思是,“安装mod_python-3.3.1.win32-py2.5-Apache2.2.exe,安装时能自动检测到python的安装目录”,这里不用选择D:\Program Files\Apache Software Foundation\Apache2.2目录。而D:\Program Files\Apache Software Foundation\Apache2.2\conf目录,是apache的配置文件目录。这里是两个步骤,如果按照这两步骤依然不行,可能就是你说的,在选择apache配置文件目录的时候,也选择D:\Program Files\Apache Software Foundation\Apache2.2?
re: 2009-2010小结(二) true 2011-01-18 09:24
顶你一把,写了这么多,文笔不错
@Benjamin
我想保持足够简单,Buffer就是对原始内存的简陋封装。没明白Buffer类哪个地方需要模板,欢迎指正.
@清正
十六进制更自然一些,
0x01
0x02
0x04
0x08
上面即可看出,用一个字节足以容下这个标记,而且有时存在对标记位的&或者|操作,这样的话,就不能再定义0x03了,因为0x03 == 0x01 + 0x02
@bill gates
谢谢回复,找个时间阅读下asio的代码。如果是在公司没有基础库积累的情况下,让我选择,我可能会选择boost,不仅仅是因为asio,更多的是boost是一个all in one,比如正则,字符串处理,demo还提供了http,另外,asio有个值得称赞的地方是,proactor模型在linux是用epoll这种"本属于"reactor模型的api模拟的,这个做法实在是太考虑开发者感受了,用asio写的代码,无论win还是linux都是很高效。
@清正
0x01是十六进制表示,二进制为0000 0001 :)
@finalday
@kasicass
考虑内存池倒不是运行时分配的效率问题,个人看重两方面:避免过多的动态分配,减少碎片;内存的可控性,容易避免内存泄露之类;对于一个服务器程序来说,他的数据包大小可以大致做一下划分,比如85%的数据包小于1K,那么这个1K就是内存池的基础大小,暂称为baseSize,另外确定数据包的maxSize,按照一定比例分配,这种方式可能会浪费一些内存,但我觉得够用了。
@expter
没太懂:(,本意是这样的:定长Buffer组成BufferList,构造中分配,析构中释放,在使用过程中不允许改变大小。
经验之谈,我之前有个服务器内部的交互接口,就是传的std::map<string,string>,文本协议的动态性方面有优势
没有任何羞辱感的js
如果把luadebugger写成VS的插件,估计可以卖钱了,我有这样的想法,但也是没有时间去实现
EditLite
@zjh
谢谢提醒。序列化用<<,反序列化用>>,不改变它的对齐规则,应该是可以的
re: linux复习结束 true 2010-12-22 20:03
最简单的就是用epoll自己写个helloworld
不管是什么目的,金山敢于开放源代码就是勇气,值得赞誉
算了,我可能说了不该说的:)
@gaimor
但是发到了首页精华区,前面有个文章讨论,看出来大家都很看得开,您这样写文章,明显是吊胃口嘛,建议写出结果,即解决方案
不明白为什么这样写文章。。。
竟然有人冒充我 true 2010-11-18 21:30
@ture
为何冒充我?
@陈梓瀚(vczh)
你刚才回复的人,不是我,希望不要引起误解

再次表达一下个人观点:可以讨论问题,甚至是激烈辩论,但骂人是绝对不对的,这个和人品有关
只能说,什么鸟都有,我来支持一下,继续你的系列文章吧!
有道理
支持原创,mysqlpp的example里面有很多例子
杂谈中的几句似乎有些言重了,技术以实用为本,应该允许百家争鸣,很多时候使用libevent,ace是因为他们在网络库开发方面,已经或多或少的成为了标准,容易为大家接受,况且在整个系统架构方面,网络库本身已经越来越不重要了。
re: 游戏IP代理 true 2010-09-30 09:34
看了首页的几篇相关文章,貌似是做私服?我平时也用ice,但限于服务器内部使用,在多语言交互上,ice做的很强大了,rpc也简化了逻辑操作,思路更加清晰。不过,从我使用的经验来看,ice更侧重于通过简单rpc/ami实现简单的逻辑,这种逻辑最后只维护简单的状态,比如在线用户列表,而对于有复杂状态维护的游戏逻辑服务器,ice有点力不从心,或者说不是那么直观了。
@ccsdu2009
这是cppblog自带的模板风格,可以自行选择
共享内存毕竟是一种进程间通讯技术,如果将对内存的操作全部转为对共享内存的操作,恐怕会有数量级的性能损耗,如果有dbproxy的话,可以缩短持久化数据的时间,也仅仅是将数据通过tcp连接发送给dbproxy,小概率的短时间回档我觉得可以接受的,当然最好是不崩溃,或者崩溃后不丢失数据。你们线上系统使用共享内存的效果如何?
re: 体验RakNet的RPC3 true 2010-09-20 17:44
@vincent
CORBA,过于复杂了,RPC是远程过程调用,就是调用函数,AMI:是异步方法调用,调用的是对象的成员,CORBA和ICE里面都有AMI功能,但是写逻辑真的个人感觉不太适合直接用RPC或者AMI得方式,我一般用来处理一些很简单的功能,比如和中心服务器的交互,像分配全局session id等,而且CORBA有自己的类型系统(int,long,short ,string等),这些类型与客户端与服务器传输时常用的uint8,uint32等等,不一致,最好不要有两种类型系统
re: Poco::TCPServer框架解析 true 2010-09-10 09:31
ServerSocket在构造函数中进行bind和listen,StreamSocket在构造函数进行connect,都是非常贴心的设计。
这些在ace里面也有体现。
re: Poco::TCPServer框架解析 true 2010-09-10 09:23
写的很好,友情支持,简单看过POCO,功能上确实很全,强大,不过没有自己实际在项目中使用过,期待更多分析
re: mysql自动备份脚本 true 2010-08-28 10:12
@ZUHD
关于增量备份,目前没有涉及,不知道有何好的方案。现在我知道的情况是,如果打开了binlog,可以得到操作的日志,也就可以得到做了什么操作,恢复数据库之后,将这里sql执行一遍即可。
逻辑层,按功能划分模块,每个模块由一个待处理队列,模块进一步分为有序模块和无序模块,有序模块由一个线程单独处理,无序模块多线程处理。
友情支持
啥都不说了,支持一下!
sqlite也实现了一个btree,自己的文件格式,缓存
两点还在发贴,顶一个:)
写得很好,这个流程正常走完的话,对需求分析人员要求较高,对于研发团队能不能按照开发规范进行开发,个人觉得很大程度上取决于技术决策者和核心开发人员,如果他们都明确要求并以身作则,其它开发人员肯定会遵守,而实际上大多小公司做不到这一点。
re: 自己造的一个线程类 true 2009-09-11 20:34
@ 欲三更
线程的抽象问题,也算是见仁见智,你描述的方式类似boost的实现(好像是),而博文中的抽象是基于“主动对象”这个概念的,我个人觉得,“主动对象”更容易理解。
libprotobuf是个好东东,多看几遍就好了:),有啥问题可以一起交流。关于数据格式,还可以看一下json,感觉不错。
@sd
我也知道xmpp已经得到了广泛的使用,这里主要是想,做一个自动描述协议,自动序列化的工具,既然要做到这样,我选择了基于libprotobuf的方案,第一次看到它的编码时,着实让人开阔思路:)
一篇文章竟然写了一晚,该休息会了:)
共4页: 1 2 3 4