1,594
社区成员




typedef struct _TCP_HEADER {
USHORT nSourPort ; // 源端口号16bit
USHORT nDestPort ; // 目的端口号16bit
UINT nSequNum ; // 序列号32bit
UINT nAcknowledgeNum ; // 确认号32bit
USHORT nHLenAndFlag ; // 前4位:TCP头长度;中6位:保留;后6位:标志位16bit
USHORT nWindowSize ; // 窗口大小16bit
USHORT nCheckSum ; // 检验和16bit
USHORT nrgentPointer ; // 紧急数据偏移量16bit
} TCP_HEADER, *PTCP_HEADER ;
报文格式:数据包头 + 数据包体(数据包头的内容是不包含包头的整个数据包长度)。
|------------------|----------------|
|数据包头(56字节)| 数据包体 |
|------------------|----------------|
| Data Header | Data Body |
|------------------|----------------|
所有非数字字段左对齐,右补空格;金额右对齐,左补空格,精确到分。
报文体长度=56+数据包体长度。
报文编号:ABCDEF001;报文头格式:
|------|-----------|--------|--------|--------|------------|-------------------|
|序号 | 名称 | 类型 | 长度 | 对齐 | 填充字符 | 说明 |
|------|-----------|--------|--------|--------|------------|-------------------|
| 1 |报文体长度 | 数值 | 6 | Left | 空格 | 报文体长度 |
|------|-----------|--------|--------|--------|------------|-------------------|
| 2 |交易码 | 字符 | 6 | Left | 空格 | 交易码 |
|------|-----------|--------|--------|--------|------------|-------------------|
| 3 |返回码 | 字符 | 4 | Left | 空格 | 返回码 |
|------|-----------|--------|--------|--------|------------|-------------------|
| 4 |返回信息 | 字符 | 40 | Left | 空格 | 返回信息 |
|------|-----------|--------|--------|--------|------------|-------------------|
交易返回码定义:
0000 交易成功
1001 无用户号码
9000 系统暂停服务
9999 其它原因
以不定长字符流方式设计。报文结构大致可理解为报文头+报文体,最小单位以“NAME:VALUE”对的型式, NAME、VALUE都以各自的长度为前缀;一条典型的发送报文如下所示:
009MessageID:00574606:013TransactionID:005BOKFS:
003///:0011:003ROW:0011:003COL:0014:010Packeduser:003LHY:010packedtime:0192006-06-06 10:29:37:004flag:001Y:009accessory:0011:
003///:0012:003ROW:0011:003COL:0017:009IMPRESTNO:0130606163005721:008inittime:0192006-06-16 15:30:04:009CompanyID:003ITC:
011Companytype:001A:009payamount:0041936:012actualamount:0041936:008category:006进帐单:003$$$
解析说明:
名称长度 名称 Req 值长度 值 说明
009 MessageID Y 005 74606 报文头,报文ID
013 TransactionID Y 005 BOKFS 报文头,交易ID
006 Err_ID 返回报文 Y 003 000 出错ID,000为成功,
008 Err_DESC 返回报文Y 004 成功 异常中文描述
008 Err_DESE 返回报文Y 007 Success 异常英文描述
003 /// 如有内容Y 001 1 报文体,组号符
003 ROW 如有内容Y 001 1 报文体,行数
003 COL 如有内容Y 001 4 报文体,列数
010 Packeduser N 003 LHY 报文体,内容值
010 packedtime N 019 2006-06-06 10:29:37 报文体,内容值
004 flag N 001 Y 报文体,内容值
009 accessory N 001 1 报文体,内容值
......
003 $$$ Y 报文结束符