客户端,服务器发包走向

多线程模式
其实这个早看过了,在复习一下
主线程创建四个子线程,一个线程一个event_base,专门派发这个
有个监听线程,在监听线程收到连接之后轮询选择一个线程就交给他处理了,其实就这么简单

在看看包走向
客户端发过来的
加入以登录为例(不知客户端是不是走这一套)
1.先打包成protocol形式
2.在livevent里面有个100k的m_sendbuff,然后将这个protocol数据再封装一下就是前面加4个字节的数据的整个长度,然后就是调用bufferent_write
3.服务器响应了读时间,然后从内存池中取protocol长度的内存,然后将其复制到分配到这块内存中
4.然后将这个内存池保存的放到一个boost::lockfree::queue<packet, boost::lockfree::capacity<22000> > m_all_packet;无所队列中,这个m_all_packet相当于缓冲的作用
5.在NetProcSvr子线程有个100m的缓冲,我怀疑刚开始经理是不是写错了,从无锁队列中取出一个包,然后将其内容拷贝到m_recvbuff里面,然后将内存池归还
6.接下来就走了共享队列这块,都知道,
7.gs这边也是事先分配好内存然后从共享内存中取,然后将共享内存归还

服务器发过去
1.先将其打包成protocol形式的然后从GS这边的内存池分配内存,然后放到m_queCmd,我想这个也是模仿net那边的,那边也是从内存池分配然后放到队列中
2.然后将这个放到共享内存中
3.这边从共享内存中取出之后也是放到一个sendbuff里面,然后前面加入了四个字节的长度
4,客户端这边解包这块也是直接new的,然后放到包队列中
时间: 2024-12-29 11:34:48

客户端,服务器发包走向的相关文章

搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating-a-wpf-chat-client-server-application/ 注意:本教程是相当广泛的,如果你是在短请也看到我们的东西 开始和 如何在几分钟内创建一个客户端服务器应用程序教程. 注2:本例中包括,明显延长进一步证明功能,在包中包含的示例 包下载. 在我们开始之前确保您已经安装了Vis

可以创建专业的客户端/服务器视频会议应用程序的音频和视频控件LEADTOOLS Video Conferencing SDK

LEADTOOLS Video Streaming Module控件为您创建一个自定义的视频会议应用程序和工具提供所有需要的功能.软件开发人员可以使用Video Streaming Module SDK,通过一些不同的配置来创建一些客户端/服务器应用程序.例如,如果有一个服务器需要向多个客户端发送音频/视频数据,那么就可以在服务器上创建这样的应用程序,比如多点传送或Web广播中的web多点传播.此外,当有多个捕捉点向一个源发送视频数据时,您可以创建安全/监控应用程序. 产品特征: 视频会议二进制

系统架构师-基础到企业应用架构-客户端/服务器

开篇 上篇,我们介绍了,单机软件的架构,其实不管什么软件系统,都是为了解决实际中的一些问题,软件上为了更好的解决实际的问题才会产生,那么对于单机软 件的架构则也是在不断的变化和发展,当然好的软件架构会对软件的生命周期起到决定的作用.好的软件架构,无疑会延长单机软件的生命周期,同时适应后期的不断的衍生的需求变化,.NET FrameWork的架构设计和体系结构设计,我相信是非常优秀的. 本篇,将会讲述大家比较常见的架构模式,客户端-服务器的模式,可以理解成C/S架构模式.现在的C/S架构已经从原来

linux创建SVN客户端,服务器

1- linux基本都自带svn 2-创建svn服务器 新创建服务器代码仓库 # svnadmin create serversvn 这样,我们就在~/目录下新建了版本库serverSvn. 3-修改配置文件 svnserve.conf [general] anon-access = read auth-access = write password-db = passwd authz-db = authz passwd [users] # harry = harryssecret # sall

Linux网络编程:客户端/服务器的简单实现

一. Socket的基本知识 1. socket功能 Socket层次 Socket实质上提供了进程通信的端点,进程通信之前,双方必须首先各自创建一个端点,否则是没有办法建立联系并相互通信的. 每一个Socket都一个半相关描述: {协议, 本地地址, 本地端口} 完整的Socket的描述: {协议, 本地地址, 本地端口, 远程地址, 远程端口} 2. Socket工作流程 面向连接(TCP)的Socket工作流程 UDP的socket工作流程 l 服务器端 首先,服务器应用程序用系统调用so

【读书笔记】iOS-使用Web Service-基于客户端服务器结构的网络通信(一)

Web Service技术是一种通过Web协议提供服务,保证不同平台的应用服务可以互操作,为客户端程序提供不同的服务. 目前3种主流的Web Service实现方案用:REST,SOAP和XML-RPC.XML-RPC和SOAP都是比较复杂的技术,XML-PRC是SOAP的前身. 一,REST Web Service. REST被翻译为“表征状态转移”,听起来很抽象,“表征”是客户端看到的页面,页面的跳转就是状态的转移,客户端通过请求URL获得要显示的页面.REST通常是基于HTTP,URI和X

5.10TCP客户端服务器

实验4-4:TCP客户端服务器 实验目的: 熟悉TCP客户端服务器编程 ? 实验要求: 1.实现TCP客户端服务器回显程序 2.传输信息要求如下 (1)尝试用C语言结构去发送或接收一个信息包 (2)将服务器运行于开发板,客服端运行于ubuntu 12.04,抓包分析TCP协议 ? 实验步骤: 1.服务器端 #include <stdlib.h>? #include <stdio.h>? #include <errno.h>? #include <string.h&

5.9UDP客户端服务器-基于OK6410

实验4-3:UDP客户端服务器 实验目的: 熟悉UDP客户端服务器编程 ? 实验要求: 1.实现UDP客户端服务器回显程序 2.传输信息要求如下 (1)尝试用C语言结构去发送或接收一个信息包 (2)将服务器运行于开发板,客服端运行于ubuntu 12.04,抓包分析UDP协议 ? 实验步骤: 服务端的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g

linux-socket tcp客户端服务器编程模型及代码详解

上一篇文章介绍了 TCP/IP相关协议,socket通信流程和涉及到的各种函数: Socket简单理解 本篇将具体解释tcp客户端服务器编程模型相关的代码 文章分为4个部分: 1. TCP客户端服务器编程模型流程图 2. 网络字节序与主机字节序 3. TCP编程的地址结构 4. 详细案例代码及解释 一: TCP客户端服务器编程模型流程图 上面两张图片将整个流程已经说明的很清楚了; 二: 网络字节序与主机字节序 字节序即是保存数据的方向方式, 分为 大端存储 和 小端存储; 其中 网络字节序 使用