FastSocket学习笔记~RPC的思想,面向对象的灵活

首先非常感谢这位来自新浪的老兄,它开发的这个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的设计思想,感谢您的阅读!

时间: 2024-08-29 06:29:17

FastSocket学习笔记~RPC的思想,面向对象的灵活的相关文章

【疯狂Java学习笔记】【理解面向对象】

[学习笔记]1.Java语言是纯粹的面向对象语言,这体现在Java完全支持面向对象的三大基本特征:封装.继承.多态.抽象也是面向对象的重要组成部分,不过它不是面向对象的特征之一,因为所有的编程语言都需要抽象. 2.面向对象开发方法比较结构化开发方法的优势在于可以提供更好的可重用性.可扩展性.可维护性. 3.基于对象和面向对象的区别:基于对象也使用了对象,但是无法通过现有的对象作为模板来生成新的对象类型,继而产生新的对象,也就是说,基于对象没有继承的特点.而面向对象有继承,而多态则是建立在继承的基

C#学习笔记(六)&mdash;&mdash;面向对象编程简介

一.面向对象编程的含义 *   是一种模块化编程方法,使代码的重用性大大的增加. *   oop技术使得项目的设计阶段需要的精力大大的增加,但是一旦对某种类型的数据表达方式达成一致,这种表达方式就可以沿用下去,直到这款应用的生命周期结束. (一)对象的含义 1.对象就是OPP应用程序的一个组成部分,这个组成部件封装了部分应用程序,这部分程序可以是一个过程.一些数据或一些更抽象的实体.对象的类型在OOP中有个特殊的名称叫做类.可以使用类来定义一个对象. PS:术语"类"和"对象

(Object-C)学习笔记(二) --OC语言面向对象和基本概念

现在的高级编程语言大部分都是面向对象编程的. 那么什么是面向对象呢?我用我的见解举个例子:假设你正在用word编辑这么两件事 1.一个人走到桌子前面(1)拿起可乐(2)打开盖子(3)喝光(4)放下瓶子(5). 2.一个人走到桌子前面(1)拿起点心(2)吃了(3). 那么如果是用面向过程的方式来编程,第一件事是一个大括号,里面写着这5步.第二件事是一个大括号,里面写着3步.写这么两件事全部手写,不允许黏贴复制,一共8步. 如果使用面向对象的方式来编程,把这个过程分为了动作和物品,把这些步骤写出来但

PHP学习笔记之继承(面向对象三大特性之一)

今天学习了面向对象的三大特性之一继承 继承:子类可以继承父类的一切 特点就是单继承: 制造一个父类 //继承:子类可以继承父类的一切//特点:单继承 //父类class Ren{ public $name; public $sex; public $yuyan; function Say() { echo $this->name."正在讲话!"; }} //美国人的子类class America extends Ren{ public $ziben; //子类对父类的方法重写 f

python学习笔记-(十一)面向对象进阶&amp;异常处理

上篇我们已经了解了一些面向对象的基础知识,本次就了解下面向对象的一些进阶知识(虽然我也不知道有什么卵用). 静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可以调用静态方法: 说了那么多,估计会有些懵逼,咱们还是直接上代码看下静态方法怎么使用吧! 1.按照正常逻辑编写代码并加上@staticmethod定义静态方法eat: class People(object): def __init__

JavaScript高级程序设计学习笔记第六章--面向对象程序设计

1.ECMAScript没有类的概念,ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”,有点类似于散列表 2.ECMAScript 中有两种属性:数据属性和访问器属性. 数据属性: [[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过 for-in 循环返回属性. [[Writable]]:表示能否修改属性的值. [[Valu

FastSocket学习笔记~制定自已的传输协议~续~制定基于FastSocket的协议

FastSocket这个东西上次我已经说过,它使用简单,功能强大,扩展灵活,目前在新浪的生产环境中已经被广泛使用,所以它的性能,安全等各方面我们绝对可以信赖,今天我们来说一个话题,和上一讲有关,这次我们制作一个基于FastSocket的传输协议,它的意义重大,当fastSocket提供的协议不能满足项目要求时,我们就必须硬着头皮去自己写了,还好,fastsocket为我们铺好了路,我们只要按着这条路走下去,就可以了. 自定义的协议格式如下 说干就干 首先,如果要想扩展一个自己的协议,要对 cli

设计模式学习笔记(一)——面向对象设计模式与原则

1.设计模式的概念 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案. 2.面向对象设计模式 面向对象设计模式描述了类与相互通信的对象之间的组织关系.目的是应对变化.提高复用.减少改变. 3.什么是对象: 1)从概念层面讲,对象是某种拥有职责的抽象: 2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口: 3)从语言实现层面来看,对象封装了代码和数据(也就是行为和状态).如果我们抛开代码的实现来看对象的概念,那么它应该就像个具体的物体,比如说:榔头,从概念层面讲,榔头有它的职责

python学习笔记-(十)面向对象基础

面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写. 实例变量:定义在方法中的变量,只作用于当前实例的类