1 / 27
文档名称:

xnet通讯简述.ppt

格式:ppt   大小:438KB   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

xnet通讯简述.ppt

上传人:977562398 2021/12/3 文件大小:438 KB

下载得到文件列表

xnet通讯简述.ppt

文档介绍

文档介绍:目录
Xnet原理概述
XNet开发关注点
单XNET服务器
XNET日志分析;
XNET服务器级联
第一页,共27页。
一、XNet原理概述
第二页,共27页。
XNET原理概述-1
XNET是我公司自主开发的通讯中间件:
采用TCP/IP通讯协议,长连接,异步方式;
功能:
建立,断开连接,发送接收数据;
支持逻辑寻址,编程时不需考虑对方地址,支持单播,多播的发送方式;
发送中自动压缩;
在线联机检测,发现断连可自动重连;
支持XNET服务器多层级联;
支持数据优先级设置;
第三页,共27页。
XNET原理概述-2
所有使用XNET通讯的程序要求采用TXNetData打包;
XNET报文结构:
系统区+用户区
系统区由18位固定长度的包头:
Source\0 + Target\0 + Title\0 + Mark\0
XNET逻辑名称:xnet通讯时寻址的主要依据,逻辑名必须唯一;
对于XNET服务器本身,服务器逻辑名是域名(域名为启动xnet时的配置名如xnetd boc 12300,域名即为boc);
对于XNET客户端(使用xnet通讯的程序),逻辑名(终端名)为“”,应用逻辑名对于后台应用进程是写在配置文件或者固化在代码中(该类程序一般不能起多个),而对于客户端,一般都会有很多客户端同时登录,一般由服务器自动分配;
第四页,共27页。
XNET原理概述-3
Xnet内部逻辑名称可用来判断数据返回路径,对程序员而言,该名字能简洁地辨识出数据的来源和去向,便于查看日志;(故要求程序员在命名程序的逻辑名时注意要能简洁地标识当前程序)
从xnet日志看,用******@:111 来表示,xxx是xnet逻辑名称,用点号分开,是IP地址,111是端口号(端口号随机分配),逻辑名和ip、端口做了绑定, xnet根据逻辑名可发送信息给相应客户端,
XNET寻址:支持逻辑寻址和title寻址,我们一般常用的还是title寻址;
第五页,共27页。
XNET原理概述-4
Title命名规则:
Dot分割连续数字字母,大小写敏感,严禁使用空格和除通配符(*,>)外的其它特殊字符;
一般目前我们使用title结构是“”(如)
单域通配符(*),如Ps.*则等可匹配,但不能匹配;后者需通过多域匹配符(>)来实现;
XNET发包类型:
单播:XNET服务器将该包转发给关注该包的第一个连接;
多播: XNET服务器将该包转发给关注该包的所有连接;
返回包:XNET客户端A将收到的包,反馈给发该包的连接,此时XNET服务器直接将Source和Target调换,无需通过title寻址;
第六页,共27页。
XNET原理概述-5
基于Title进行逻辑寻址;
请求者(发包方)和响应者(收包方)均通过配置ip,端口连接到xnet服务器;
响应者连接上XNet后,注册Title(SetCommand设置为xcRegTitle,SetData方法打包注册title字符串),向XNET注册关注的title,可多个,支持通配;
请求方构造TXNetData对象,调用SetData属性设置包内容,SetTitle方法设置包Title,SetCommand方法设置包类型(单播,多播),进行发送;
Xnet服务器收到单播或广播包后,转发给注册该Title的连接(即响应者);
第七页,共27页。
XNET原理概述-6
XNET级联拓扑图
第八页,共27页。
二、开发关注点
第九页,共27页。
开发关注点-1
做好Title规划:
开发前事先规划好项目需要有多少个XNET,是否需部署级联(级联可分散XNET压力);
后台应用间,后台应用和客户端间注册Title需清晰区分开;
后台应用间,后台应用和客户端间发送xnet包,通讯时,发包title按目的应用的title设置;
如:
存在后台应用app1,app2分别注册title:app1.>;和app2.>;
客户端appc1,注册title: appc1.>;
则app1发包给app2,则可发送app2.>的包;
app2发包给客户端appc1,则可发送app2.>的包;
第十页,共27页。