常见的标准化组织主要干什么事?


ISO:International Organization for Standardization,国际标准化组织,定义针对国际范围内的标准。


ANSI:American National Standards Institute,美国国家标准化协会,是美国国内的标准化组织。由于互联网始于美国,所以一些国际标准实际上是由它来制定的,这是历史导致的。


IEEE:电气与电子工程师协会,针对具体的物理网络上的通信 ...


封装MySQL的C语言API

为方便使用,对MySQL提供的C语言API进行包装。考虑到在实际使用时,会对多个数据库服务器进行访问,将访问句柄组织成链表进行管理。

封装后的函数有如下几个,函数名均已MY作为前缀:
其中的重要参数,MySQLConnLink是一个链表,其元素为MySQLConnection,该结构中包含了一个数据库连接相关的信息。如:数据库的账号,密码,数据库名字等 ...


vim7.4安装vimgdb

vimgdb这个插件需要用打补丁的方式进行安装,即:需要修改vim的源码,vim要重新编译。

若打补丁,应该使用与vim版本相对应的那版vimgdb才不会出问题。不过,vimgdb到7.2版就不再更新了,要在vim7.4上安装vimgdb的话 ...


逐步实现TCP服务端Step05-1:实现Proxy

Proxy的基本功能是将收到的消息原封不动地转发给单个或多个目标实体。可用“类型+ID”的方式来标识一个实体。这样,源实体只要提供目标实体的类型、ID以及转发方式,Proxy就可完成转发工作。

转发方式可细分为如下几种:

  • 一对一(P2P):一个源实体对应一个目标实体。此种情况,源实体需要提供目标实体的实体类型和实体ID。

  • 一对多(P2G):一个源实体对应一组(Group)目标实体 ...


启动Wireshark时报错"dyld: Symbol not found: ..."

在OSX上启动Wireshark失败,产生一系列"dyld: Symbol not found: ... "提示:

dyld: Symbol not found: __cg_jpeg_resync_to_restart
 Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions ...


逐步实现TCP服务端Step05:分布协作

迄今为止讨论的都是使用单个服务程序对外提供服务的情况。虽然netio和s是两个进程,但它俩其实是分管了一个服务程序的通信和业务逻辑两个部分,这里把它们视为一体。

假设s在处理业务的时候需要访问数据库,等从数据库提出数据后,又要进行复杂的数学运算。此种情况,只有单个线程的s势必会在某些环节因耗时过多,而影响到其他客户的服务受理。

若继续坚持单线程的路线,就必须对s进行拆分。就像当初从s中拆分出netio一样。假设用于访问数据库的进程叫做dbsvr,用于计算的服务叫做calsvr ...