`
jgsj
  • 浏览: 1003772 次
文章分类
社区版块
存档分类
最新评论

中转服务器

 
阅读更多

中转传输概要设计

中转传输的消息架构为模拟MFC的消息架构,请参考我的上一篇文章。

1.概述

中转服务器采用事件驱动的方式,与socket结合。其层次如下:

在事件驱动层中,将相关消息发送给对应的用户事件处理函数处理。

在命令解析层中发送和接收数据。在接收到数据时,需要验证数据合法性,收到一帧完整的数据后调用消息驱动层的send相关方法,调用该类方法后会将消息传递给用户事件处理中。

在命令解析层中,会引入socket控制,同时管理多个socket的读。

在用户事件处理中,需要像MFC那样,定义消息处理的映射表。只有在用户层定义了消息映射表,命令解析层接收到的命令才能被处理,否则被丢弃。


2.事件驱动层

消息分两种:post类消息和Send类消息。

Post类消息首先需要将消息放入消息列表中,由消息处理线程负责派发消息,所以消息的发送与处理是异步的。

Send类消息不需要经过消息列表,直接由send相关方法派发消息,所以只有等待消息被处理完成send方法才返回。

post事件驱动流程图:

事件驱动贯穿整个流程,一般事件驱动流程退出,则程序退出。

2.1事件信息

事件分为如下两种:

a.整型事件,用一个整型数字标志一个事件,该事件参考MFC的基本结构;

b.字符串事件,以命令的形式定义一个事件;

事件目标:

事件目标可以是目标的直接handle,也可以是目标的名称。

2.2基本事件

我们规定在1024以内的整型事件为基本事件,由事件驱动层定义。用户可以定义任何大于1024的事件,不同对象之间事件号可以重复。


3.Socket控制


socket控制中,主要监控socket的读和异常状态。对于写上层可以直接调用send发送数据。

外部如果需要释放已经放入到控制列表的sokcet,必须调用控制层的接口。


4.用户事件处理

时序图如下:


登录、心跳和退出流程

转发文件流程图


分享到:
评论

相关推荐

    基于Linux的网络中转服务器的设计与实现.pdf

    基于Linux的网络中转服务器的设计与实现 一、Linux操作系统简介 Linux是一种免费、开放源代码的操作系统,广泛应用于服务器、嵌入式系统和个人电脑等领域。 Linux的出现改变了计算机行业的发展方向,提供了一个...

    闲来无事自己搭建了一个加密的鱼池中转服务器

    闲来无事自己搭建了一个加密的鱼池中转服务器,有需要的可以拿去用了

    中转服务器,SSL中转线路搭建

    中转服务器,SSL中转线路搭建

    中转服务器零基础教程Minerproxy.zip

    中转服务器零基础教程Minerproxy.zip

    网络中转服务器.zip

    【网络中转服务器】是一个基于Qt库开发的开源示例项目,主要展示了如何利用Qt进行网络编程,实现数据的中转和传输。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的API来简化GUI设计和网络通信。...

    python利用隧道转发技术实现远程监控,不仅限用于局域网,把forwardServer.py中转服务器放到具有公网ip的服务器

    隧道转发是通过一个中间服务器(这里称为“中转服务器”),将客户端的请求重定向到目标服务器,然后再将目标服务器的响应返回给客户端。在这个案例中,中转服务器拥有公网IP,因此可以从互联网的任何地方访问,而...

    boost asio中转服务器(TCP)

    客户端和服务器在不同的网段内,它们之间不能直接通过TCP连接,但是有一台机器(暂时称为转发器)有双网卡,两块网卡分别在客户端和服务器端的网段内,这样转发器就能分别和客户端即服务器建立连接,并来回传输数据

    Qt编写网络中转服务器(开源)

    需求 1:手机端或者其他端可以对设备进行回控,并查看设备各种运行状态,接收报警推送等。 2:同时支持在局域网、广域网、互联网访问,尤其是互联网访问。 ... 4:设备不在线要给出反馈信息提示以便分析。...

    Node.js-FileTransferServer解决防盗链图片使用问题的中转服务器

    FileTransferServer就是为了解决这个问题而设计的中转服务器。 **二、FileTransferServer工作原理** FileTransferServer的工作方式是,当外部请求到达时,服务器首先检查请求的合法性,如果请求合法,服务器会从源...

    sbupl4tietuku 纯HTML5贴图库批量上传 无需中转服务器

    HTML5+JS贴图库批量上传示例,无需jQuery、Flash、中转服务器等。 相比swfupload:无需Flash组建支持,支持手机,节省内存无卡顿。 相比PHPSDK:无需中转服务器,省去先传自己主机再传贴图库的繁琐过程。 相比...

    sbupl4tietuku3 纯HTML5贴图库批量上传 无需中转服务器

    HTML5+JS贴图库批量上传示例,无需jQuery、Flash、中转服务器等。 相比PHPSDK:无需中转,省去本地资源消耗。 相比Plupload:无需jQuery,代码仅2KB,轻量小巧。 相比swfupload:无需Flash组建支持,支持手机,节省...

    麦格中转服务器

    ### 麦格中转服务器概述 #### 一、麦格中转服务器介绍 麦格中转服务器是由北京麦格天渱科技发展有限公司提供的专业服务之一,它主要用于支持网络RTK技术,使得用户能够在较大的范围内实现高精度的定位测量工作。...

    sbupl4tietuku2 纯HTML5贴图库批量上传 无需中转服务器

    HTML5+JS贴图库批量上传示例,无需jQuery、Flash、中转服务器等。 相比PHPSDK:无需中转,省去本地资源消耗。 相比Plupload:无需jQuery,代码仅2KB,轻量小巧。 相比swfupload:无需Flash组建支持,支持手机,节省...

    java中转数据(服务端代码)

    本项目以"java中转数据(服务端代码)"为标题,表明它是一个利用Java实现的数据中转服务,运行在中转服务器上。描述中提到,这个服务基于Nutty框架,能够接收客户端发送的数据并转发到另一台服务器,灵活性较高,只...

    TCP 端口中转工具

    中转站客户端软件,在采集端计算机上运行 TCP 中转站采集端软件。运行 TCP 中转站服务 端软件的服务器,是一台运行 Windows2000 系统有公网 IP 的计算机,客户端计算机和采 集端计算机均可以访问该服务器。 TCP 中转...

    minerProxy / babyProxy 搭建中转教程+软件

    搭建中转代理程序 实现了自定义抽水、0抽纯转发等 支持tcp、ssl加密 核心代码已开源,本程序包含:web控制台、shell脚本、windows客户端等。 1、准备好你的linux服务器 2、执行(按顺序执行代码): 3、开启babyProxy...

    Node做中转服务器转发接口

    Node.js 作为中转服务器转发接口的实现 Node.js 作为中转服务器转发接口是当前项目中非常重要的一部分。由于项目的特殊性,需要将 Node.js 作为中转服务器来处理文件上传和表单转发。下面将对 Node.js 作为中转...

    零基础也可以,简单易上手搭建ETH中转服务器教程,实现私有化节点,加密运行,支持抽水

    简单易上手搭建ETH中转服务器教程,实现私有化节点,加密运行,支持抽水。降低延迟+防止掉线+纯净转发+自定义抽水+小白零基础瞬间精通教程(本地设置、云服务器架设)。

    NB_Mail_可指定中转服务器IP.zip

    搭建本地邮箱,用于中转的本地服务器.

Global site tag (gtag.js) - Google Analytics