首先非常感谢这位来自新浪的老兄,它开发的这个FastSocket非常不错,先不说性能如何,单说它的使用方式和理念上就很让人赞口,从宏观上看,它更像是一种远程过程的调用RPC,即服务器公开一些命令,供客户端去调用,很灵活,而它的理念上来说,它将socket编程抽象化了,让开发人员不用去关心底层通讯机制,而只关心应用层的开发,如开发一个用户模块,你不用关心socket链接怎么声明,不用关心性能,你只要开发和用户相关的内容即可。
看一下图示,我自己画的,呵呵
看一下fastSocket自带的例子
服务器端配置很灵活,没有采用硬编码的方式,直接配置文件搞定
<configSections> <section name="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的设计思想,感谢您的阅读!
本文转自博客园张占岭(仓储大叔)的博客,原文链接:FastSocket学习笔记~RPC的思想,面向对象的灵活,如需转载请自行联系原博主。