最近头脑里面一直在想怎么样让能让你们基于DIOCP上写出稳定的服务端程序。不少朋友问我,你DIOCP稳定吗,我能够用他来作三层服务器吗? 当时我是这样回答的,我只能保证DIOCP底层通讯的稳定。程序员
说实话,服务端要稳定,并不容易,写过服务端的程序员都清楚。特别是这种能够直接操做指针,本身分配内存和释放内存的语言(想C++, C, Delphi),一不当心就一个坑,一个坑可能就会引起,内存的释放越界,访问非法地址。致使整个进程的直接奔溃。服务器
通过一些研究和咨询,我能够利用多进程来实现通讯层和逻辑层的完全独立,还能够将逻辑层分布到局域网的其余电脑,进行逻辑的分布式。通信层单独的作数据转发,即便逻辑层,一不当心奔溃,还能够投递到另外的逻辑处理服务进程, 多进程直接使用socket(0MQ)进行通讯。这样你们能够专一于逻辑进程的编写,甚至能够单个逻辑进程采用单线程的方式编写,这样就能够避免多线程代理的居多麻烦,而后用0MQ投递到通信层进行数据的返回。多线程
草图以下:socket
DEMO代码正在编写中,请关注DIOCP项目。分布式
>>>>>>DIOCP讨论群:320641073google
>>>>>>SVN源码和DEMO下载:https://code.google.com/p/diocp/spa