SuperSocket是一款优秀的SOCKET框架,功能强大,以下是我的学习笔记。
一、官网
主页: http://www.supersocket.net
官网文档: http://docs.supersocket.net
二、源码浅析
Socket通讯不管怎么封装,其核心必然是Listen、Accept、Receive、Send等关键, 因此从最底层开始往上抽丝剥茧,解读SuperSocket的逻辑。
项目SuperSocket.SocketEngine.Net45 实现对Socket链接、收发数据的封装。
项目SuperSocket.SocketBase.Net45实现对AppServer AppSession等业务逻辑的抽象封装。
整个SuperSocket是基于.net SocketAsyncEventArgs实现的,相关介绍请参考:http://www.cnblogs.com/smark/p/3573107.html
http://blog.csdn.net/zhangjunjian127/article/details/7067797
因排版原因,详情请见我的有道笔记:
http://note.youdao.com/noteshare?id=eec22facef3d915b5efb258a715ad882
三、小结
通过上述代码解读后,对SuperSocket的结构有了一个清晰的概念,对照官网这张结构图,会更直观:
但是从代码中可以看出来,在Command执行期间,如果存在大运算或CPU密集型计算,仍然有可能造成阻塞,因为指令执行这一部分并没有用到线程池,所以在处理业务逻辑时要着重注意!