首先非常感谢这位来自新浪的老兄,它开发的这个FastSocket非常不错,先不说性能如何,单说它的使用方式和理念上就很让人赞口,从宏观上看,它更像是一种远程过程的调用RPC,即服务器公开一些命令,供客户端去调用,很灵活,而它的理念上来说,它将socket编程抽象化了,让开发人员不用去关心底层通讯机制,而只关心应用层的开发,如开发一个用户模块,你不用关心socket链接怎么声明,不用关心性能,你只要开发和用户相关的内容即可。
看一下图示,我自己画的,呵呵
看一下fastSocket自带的例子
服务器端配置很灵活,没有采用硬编码的方式,直接配置文件搞定
"socketServer"
type="Sodao.FastSocket.Server.Config.SocketServerConfig, FastSocket.Server"/>
</configSections>
<socketServer>
<servers>
<server name="binary"
port="8401"
socketBufferSize="8192"
messageBufferSize="8192"
maxMessageSize="102400"
maxConnections="20000"
serviceType="Server.MyService, Server"
protocol="asyncBinary"/>
</servers>
</socketServer>
支持多种传递标准,或者叫做协议
AsyncBinaryProtocol:异步二进制模式
CommandLineProtocol:命令行模式
ThriftProtocol:thrift模式
好了,本节主要讲了一些理念知识,包括FastSocket的设计思想,感谢您的阅读!
作者:仓储大叔,张占岭,
荣誉:微软MVP