Clientpython |
|
|
|
Serveroracle |
1app |
-------编码 |
Data Piggyback(11) Cursor Close All(69)spa 或 03 5e3d |
----->代理 |
具体语句code |
2blog |
<-----ip |
Marker(0C) |
------- |
返回Marker |
3 |
<----- |
Marker(0C) |
------- |
返回Marker |
4 |
------- |
Marker(0C) |
-----> |
Request Marker |
5 |
<----- |
Data Error(17) 02 |
------- |
错误信息 |
错误请求涉及的包有Marker包(PacketType 0x0C)和Data Error(DataType 0x06 DataID 0x17 CallID 0x02)包
错误请求发出后,服务端会返回两个Marker(2,3),而后客户端会主动经过一个Marker(4)请求去获取错误信息(5)
Marker包不是data包,他的的dataflag是0C,因此头部是
0x00,0x0b,0x00,0x00,0x0c,0x00,0x00,0x00
从当前看彷佛Marker包长度固定为0b
除去头部固定的8个字节后,剩下三个字节是Marker的具体内容
01 00 01 或者01 00 03
Attention
Marker Type: Data Marker - 1 Data Bytes (0x01)
Marker Data Byte: 0x00
Marker Data Byte: 0x03 或者 0x01
01 00 02
Attention
Marker Type: Data Marker - 1 Data Bytes (0x01)
Marker Data Byte: 0x00
Marker Data Byte: 0x02
01 00 02
Attention
Marker Type: Data Marker - 1 Data Bytes (0x01)
Marker Data Byte: 0x00
Marker Data Byte: 0x02
此包根据服务端,客户端不一样有不少变化,且不能通用
此包此包为Data包,DataID=17 CALLID=02
包含两个部分,前一个部分固定长度为155字节,表示内部错误信息,后一部分是前序一个长度字节的错误字符串,和语言及编码设定有关
此包此包为Data包,DataID=04 CALLID=05
包含两个部分,前一个部分固定长度为68字节,表示内部错误信息,后一部分与12c版本相同是前序长度的错误字符串,和语言及编码设定有关
注意与12c同样,绿色部分的错误编码要和蓝色字符串中的错误编码相同,才能显示字符串中的信息,不然显示默认信息
若是将版本改成312,返回错误又不相同,
此包此包为Data包,DataID=17 CALLID=02
绿色部分的错误编码要和蓝色字符串中的错误编码相同,才能显示字符串中的信息,不然显示默认信息
功能:在接收命令处若是知足禁止条件,则返回权限不足,效果如图
首先在接收命令处若是知足禁止条件,则返回两个marker
当代理收到marker时,返回具体错误,须要根据各类条件进行判断