drda通信协议中网络字节序的确定方式

本文介绍DB2在进行网络数据传输时采用的不同字节序,并解释了如何通过TYPDEFNAM标识来确定使用little-endian还是big-endian字节序。此外,还讨论了客户端与服务器间可能存在不同字节序的情况。

这里的字节序指的是网络字节序 , db2 通过网络传输数据时,存在两种字节序:

例如,用 4 字节传输 int 类型 16 ,十六进制 0x10

在 x86 平台计算机内,使用 little endian 字节序

存储四字节顺序为 10 00 00 00
 

little endian 的网络字节序     1000 0000

big endian 的网络字节序       0000 0010

 

db2 在网络传输时,会用 TYPDEFNAM 标识,选用的网络字节序,如下。

如果 TYPDEFNAM 为 QTDSQLX86 ,表示使用 X86 平台的字节序,即 little endian 。

否则,表示使用 big endian 字节序。

 


QTDSQLX86 ,表示使用 little endian 网络字节序,如下图。


 

 

 

 

TYPDEFNAM 为 QTDSQLASC ,使用 big endian 网络字节序

 

 

另外, 

客户端和服务器端可能使用不同的字节序:

客户端通知服务器端自己使用 BIG-ENDIAN 字节序,服务器照此字节序解析客户端请求;但同时服务器端通知客户端自己使用 LITTLE-ENDIAN 字节序,客户端照此字节序接收。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值