中转服务器
来源:互联网 发布:易吧进销存软件官网 编辑:程序博客网 时间:2024/04/29 17:43
中转传输概要设计
中转传输的消息架构为模拟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. 用户事件处理
时序图如下:
登录、心跳和退出流程
转发文件流程图
- 中转服务器
- VPN中转服务器方案
- ssh中转服务器命令
- 建立 vpn 中转服务器
- VPN中转服务器方案
- 中转
- 无须SMTP服务器中转直接发送电子邮件
- Domino邮件服务器防垃圾邮件中转(转)
- P2P直连?经服务器中转?
- P2P直连?经服务器中转?
- nodejs 服务器作防盗链图片中转
- Android使用Java Web服务器作为中转实现即时通信
- Mac下 ssh 登录 跳板机 中转 至服务器
- LinuxC编写TCP,HTTP中转SOCKET服务器(模拟)
- 如何提升服务器安全性,避免Internet服务器将此服务器作为SMTP中转主机
- 用Postfix + Dovecot 搭建的邮件服务器被垃圾邮件当中转服务器的处理
- Java将远程服务器上的文件经过本地服务器中转后输出至前端
- TCP通信的服务器(两个客户端通过服务器进行数据中转)
- Leetcode之递归之苦
- 二叉树运用
- 蛇形填数
- Eclipse启动提示javaw.exe in your current PATH、No java virtual machine
- Hibernate Annotation中BLOB、CLOB注解写法
- 中转服务器
- Android studio使用教程
- MyCalendar 开发日志 2
- TextView属性大全
- 挂着回文的名号的水题
- 找不到文件D:\app\pc\product\11.2.0 \dbhome_2\oc4j\j2ee\oc4j_applications\applications\em.ear
- HttpEntity使用,待续更新
- linux下Apache+PHP+mysql+phpMyAdmin源码包安装配置
- 椭圆中心到椭圆切线的距离