自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nellson的专栏

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

  • 博客(5)
  • 收藏
  • 关注

转载 解Google-ProtoBuf中结构化数据的编码

<br /> <br />本文的主要内容是google protobuf中序列化数据时用到的编码规则,但是,介绍具体的编码规则之前,我觉得有必要先简单介绍一下google protobuf。因此,本文首先会介绍一些google protobuf相关的内容,让读者朋友对google protobuf有一个初步的印象,然后,再开始进入正题—-深入浅出地介绍google protobuf中用到的编码规则。下面言归正传,开始今天的话题。1. Google-ProtoBuf是什么<br />ProtoBuf,全称

2010-06-30 09:41:00 3205 1

原创 采用epoll模型服务器连接管理器实现

<br />【应用场景】<br /> <br />    在网络服务器中,需要维护所有连接信息,通常是以fd做为key,连接信息结构体做为value。每次有新连接接入时,需求加入一个映射关系;每次有新数据到达时,需要根据对应的fd查询到对应的连接信息结构。<br /> <br />    通过上面的场景我们可以抽象出来一类数据,数据的特点如下:数据有多条,支持增、删、改数据结构有唯一的索引,且索引号动态分配需要很方便的根据key查询到value(这里是性能的关键)记录数有上限(不是必要的,但通常都需要,比较

2010-06-26 21:19:00 1133

原创 采用共享内存或文件映射的方式保存用户数据

   [引言]   互联网应用中,经常会碰到一种比较特殊的用户数据,这类数据的特点是:   每个用户都有的数据   数据长度不变且字节数一般较少   读请求远大于写请求,特别是批量读    比如网站提供给用户8种特权服务,用户可以选择性的开通其中一个或多个,而用户一般的操作行为是查看自己的特权以及查看好友的特权。这类数据的特点是写请求很少,因为用户不会经常性的开通或关闭一个特权,但是读请求很多,因为一般来说用户会比较关注自己的特权,同时产品也会引导用户去查看自己好友开通了那些特权,从而进一步拉扰用户。  

2010-06-19 23:51:00 1642

原创 结构体或类定义中对变长成员的处理

<br />对于一个结构体,头部信息固定,成员节点变长的,可以采用下面的定义方式:<br />1. 数组<br />typdef struct _stHeadInfo /*头部*/<br />{<br /> int version;<br /> int magic_num;<br /> int req_count;<br /> int res_count;<br /> char cgiinfo[0];<br />} stHeadInfo __attribute__((__aligned__(4)));<br

2010-06-19 22:54:00 1493

转载 Linux网络编程socket错误分析

<br /><br />socket错误码:<br /> <br />EINTR: 4<br />阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。<br />只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。<br /> <br />ETIMEOUT:110<br />

2010-06-13 21:35:00 10410 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除