废话多说

很久之前,我写过几篇FastSocket的文章,基本属于使用的方法,而缺乏对概念的总结讲解,而本讲就是弥补一下上几讲的不足,将核心的模块再说说,再谈谈,再聊聊!

首先FastSocket由Client和Server端组成,我们在进行开发时,可以引用相应的DLL,再加上核心的FastSocketBase即可,对于client主要是将业务对象转成我们的数据包,即byte数组,而后通过指向服务端的命令, 对数据包进行发送,而服务端的这个命令接受到这个请求,拿到这个数据流(byte数组),再对数据流进行解析,将这个数据流转为对象,再进行相应的操作。

客户端的核心图

Response[响应体]

定义业务环境的数据实体,业务层对它进行显示的赋值

Protocol(协议包)

对消息进行加工,并转成指定的核心Reponse,它通常是将实体对象属性转成byte数组的行式,更直接的说就是对Response的对象进行赋值,这里就涉及到的对byte数组的赋值

Client(客户端消息发起者)

将以response为数据载体的数据包发送到指定的服务端命令通道中,并提供了方法回调的功能,即当服务端处理完成后,并提供了方法的回调。

对于服务端来的,架构就简单一些,由服务端的服务,协议包和命令组成,一个服务可以设置多个命令,而命令是由服务端的数据包构建的,它的作用就是将请求里的数据包转为指定的对象,所以它类似于客户端的Response的功能。

好了,对于FastSocket原理的介绍,今天就到这里吧。

FastSocket学习笔记~再说客户端与服务端的组成的更多相关文章

  1. Docker学习笔记 - Docker客户端和服务端

    学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc   ...

  2. Netty4 学习笔记之一:客户端与服务端通信 demo

    前言 因为以前在项目中使用过Mina框架,感受到了该框架的强大之处.于是在业余时间也学习了一下Netty.因为Netty的主要版本是Netty3和Netty4(Netty5已经被取消了),所以我就直接 ...

  3. TCP学习之五:客户端、服务端异步传输字符串

    参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 消息发送接口: 消息接收接口: 客户端: 服务端: 消息发送类: ...

  4. TCP学习之三:客户端、服务端同步传输字符串

    参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 一个客户端.发送一条消息 客户端: 服务端: 注意:Networ ...

  5. Binder学习笔记(九)—— 服务端如何响应Test()请求 ?

    从服务端代码出发,TestServer.cpp int main() { sp < ProcessState > proc(ProcessState::self()); sp < I ...

  6. linux网络编程学习笔记之三 -----多进程并发服务端

    首先是fork()函数.移步APUE 8.3.  比較清晰的解释能够參考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://w ...

  7. 学习笔记_TCP编程,服务端

    public void startTcpService(String ip) { try { InetAddress ipAddress = InetAddress.getByName(ip); tc ...

  8. Netty4 学习笔记之二:客户端与服务端心跳 demo

    前言 在上一篇Netty demo 中,了解了Netty中的客户端和服务端之间的通信.这篇则介绍Netty中的心跳. 之前在Mina 中心跳的使用是通过继承 KeepAliveMessageFacto ...

  9. Netty 学习(二):服务端与客户端通信

    Netty 学习(二):服务端与客户端通信 作者: Grey 原文地址: 博客园:Netty 学习(二):服务端与客户端通信 CSDN:Netty 学习(二):服务端与客户端通信 说明 Netty 中 ...

随机推荐

  1. CSS样式重置(转)

    body,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,th,td,p,blockquote,pre,form,fieldset,legend,input,button,te ...

  2. JS继承类相关试题

    题目一: //有关于原型继承的代码如下:function Person(name) {   this.name = name;}Person.prototype = {     getName : f ...

  3. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  4. 微软开源代码编辑器monaco-editor

    官网上给出:”The Monaco Editor is the code editor that powers VS Code. A good page describing the code edi ...

  5. 解决开启服务器防火墙导致ftp不能连接的问题

    在防火墙设置的"高级"选项卡中的"网络连接设置"--"本地连接"--"设置"中添加了"FTP服务器" ...

  6. 自定义ConfigSection

      CCustom configuration section with intelisense

  7. 设置WindowServer2012 时间同步NTP

    在powershell中以管理员身份运行以下命令即可 w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL Stop-Ser ...

  8. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  9. Photoshop、Illustrator思维导图笔记

    半年前学习Photoshop时记得的思维导图笔记,可能不是很全,常用的基本都记下了.

  10. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...