- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SunLink程序员手册
SunLink 通讯中间件
程序员手册
1. 简介
SunLink 是一个基于 TCP/IP 协议实现的通讯中间件产品。SunLink 可运行于 SCO
OpenServer、UnixWare 、Linux 、Sun Solaris、AIX 、HP UX 、FreeBSD 等多种主流 Unix/Linux
操作系统。另外,SunLink 还为 Windows 平台提供了客户端开发包。
SunLink 具有以下一些功能及特点:
采用交易码驱动的机制,易于部署。
结点间互为主、从,可实现任意两通讯结点间的交易。
支持数据报文和文件传输。
支持一次最多 15 个文件传输,每个文件的最大可为 2GB 。
支持对交易数据报文及文件的一致性校验(MD5 )。
传输过程中对数据报文及文件进行压缩以提高传输效率。
系统资源占用少,对软、硬件配置要求低。
通过灵活、简便的配置和管理机制,使业务系统的开发和部署更为简单。
支持系统运行中动态更改配置。
提供了交易流量管理功能。
支持通讯结点的身份认证(需有安全子模块配合)。
由于SunLink 具有平台适应性好、硬件要求低、高效、安全、易开发等特点,非常适合
于构建各种基于网络环境的实时、批量业务系统。应用的范围涵盖了金融、证券、税务等各
种领域。
以下对于 SunLink 开发的介绍主要基于 Unix/Linux 平台。
2. SunLink 的运行机制
SunLink 是一个交易码驱动的通讯中间件产品。通过配置不同的交易代码和服务名称,
可以很便捷地构建业务交易系统。从这个意义上说,对交易码的配置和管理是 SunLink 的核
心。
SunLink 基于 TCP/IP 短连接,交易完成后释放资源。同时,基于短连接的模式使业务
系统的部署变得更为灵活与便捷。
SunLink 提供了流量管理和超时管理机制,可以对每一个交易码设置同时运行的最大进
程数和交易超时时间。同时,还可对一个业务系统中允许并发的各种业务进程的总数进行控
制。在不同的时段,还可以在不停止服务的情况下对特定交易的参数进行调整,比较典型的
应用是在业务高峰时段减少大规模查询业务、增加交易类业务的个数。
对于通讯过程中数据报文的传输,SunLink 仅关心数据报文的长度,而不关心数据报文
的编码规则以及具体的格式,以便于能适用于各种不同的应用的需要。
3. 开发环境的组成
SunLink 的开发环境主要由头文件和链接库构成。
头文件:tcpapi.h
接口库:libSDK.a(.so)
其它:
openssl 用于提供数据一致性校验及数据加密
zlib 用于提供数据压缩传输功能
4. tcpapi.h
4.1. 数据报头 TAPIHEAD
#define TR_LEN 6
typedef struct Header /* Transaction information */
{
unsigned char TrType[TR_LEN+1]; /*Transaction Type*/
unsigned int PackInfo; /*package information*/
unsigned int Sleng; /*Transaction package length*/
unsigned char NodeId[8]; /* Node ID.Use for security */
unsigned char RemoteNode[8]; /* Remote Node ID */
unsigned char DataMac[16];
unsigned char RetCode[2+1]; /*comm result*/
unsigned char Ftype; /*File Type*/
文档评论(0)