欢迎来到天天文库
浏览记录
ID:28977624
大小:1010.50 KB
页数:171页
时间:2018-12-15
《申银万国外围交易系统协议接口标准》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、申银万国外围交易系统协议接口申银万国证券公司电脑网络中心申银万国外围交易系统协议接口标准V3.70版ForExternalApplicationGateway(AG-X)通信协议标准申银万国证券有限公司电脑网络中心2013年3月第171页申银万国外围交易系统协议接口申银万国证券公司电脑网络中心(一)概况申银万国交易系统采用三层结构组成,中间层为应用网关。应用网关接受与转发前台应用程序的请求,经后台处理后将结果返回给前台应用程序。前台应用1应用网关后台数据库......前台应用n前台应用程序必须通过应用网关访问有关数据,本文提供
2、了外围应用软件处理交易业务所必需的协议接口定义。协议描述整体说明本说明使用C语法来定义网络数据结构,并假定结构中各字段是字节对齐的。1、采用面向连接的网络通信,支持SPX以及其他面向连接的网络协议,如自定义带纠错的RS232流等。2、网络上传送的数据定义为连续的数据流,而不强行限制物理帧的格式。3、SWI定义一个安全套接字层(SWSSL),提供一个安全高效的数据通道,进行逻辑数据流和加密的物理数据流之间的透明转换。4、逻辑数据流由一个个长度不等的网络消息组成。5、网络消息可以有连接请求、连接应答、请求、返回状态、查询结果行、取
3、消查询、报警信息、扩展消息等6、每个网络消息由消息头和消息体组成消息头消息体第171页申银万国外围交易系统协议接口申银万国证券公司电脑网络中心其中消息头的格式如下:structSWI_BlockHead{WORDblock_size;//整个消息块字节数WORDcrc;//从下个字段block_type起(不包括block_size和//crc字段本身)的CRC校验码BYTEblock_type;//块类型1–请求(SWI_???Request)//2–返回状态(SWI_???Return)//3–查询结果行(SWI_???R
4、esult)//5–取消查询//4–警报信息//5–网络对话//6–连接请求(交换密钥)//7–连接应答(交换密钥)//8–扩展请求消息//9–扩展应答消息BYTEreserved1;//保留,必须置0WORDfunction_no;//功能号longcn_id;//网关连接号WORDreserved2;//保留,内部使用(原营业部)WORDdest_dpt;//目的营业部编号};1、每个在网络上传送的网络消息如果长度不是8的倍数,应补充若干个字节的二进制0,直到实际传送长度是8的倍数。以便于进行DES加密/解密。但消息头中的
5、长度字段仍为有效数据的长度,不对齐到8的倍数。2、服务器端针对每个连接在一个时刻只处理一个请求,客户端应处理完上次请求的所有应答后才能提交下个请求。3、当该客户不再需要服务时,客户端应断开网络连接来结束服务,服务器端和客户端任何一方都可断开连接。网络故障、连接空闲超时和某个网络消息校验非法也可导致连接中断。连接中断时服务器端和客户端各自清理现场、取消未完成的事务。客户端下笔业务必须重新连接方可进行。连接空闲超时限制值为5分钟。4、版本兼容性设计。随业务发展,现定义的返回结果可能会增加字段,为保证本接口的向上兼容性,约定新增字段
6、一率增加在原有结构的尾部,客户端应检查返回结果和应答消息的长度,并丢弃客户端当前版本不能识别的新增字段。保证按较老版本接口开发的应用可以不修改地与升版后的网关正常通信。第171页申银万国外围交易系统协议接口申银万国证券公司电脑网络中心SWSSL实现:网络消息网络消息应用层:密钥管理密钥管理DES解密DES加密SWSSL层:第171页申银万国外围交易系统协议接口申银万国证券公司电脑网络中心连接过程:(1)客户端用connect系统调用建立网络连接。(2)协商加密方式客户端发出“连接请求”消息structSWI_ConnectRe
7、quest{SWI_BlockHeadhead;//消息头block_type==6WORDmethod;//客户端的加密方式charentrust_method;//委托方式(见数据字典说明)BYTEreturn_cp;//客户端希望的返回结构中中文字段的代码页//0--MBCS(CP936简体中文)//1--Unicode(Java客户需要)BYTEnetwork[4];//客户端Novell网段号BYTEaddress[6];//客户端网卡地址(Novell节点地址)WORDclient_major_ver;//客户端协
8、议接口主版本号(用于版本协商)WORDclient_minor_ver;//客户端协议接口次版本号(用于版本协商)WORDkey_length;//RSA密钥长度(对method1,key_length=0)};消息头中:block_type6–连接请求(交换密钥)funct
此文档下载收益归作者所有