内存对齐与网络传输
时间:2010-05-16 来源:iacrqq
内存对齐与网络传输
今天遇到一个奇怪的问题,我用STREAM的核心自己做了个流数据处理系统,我的客户端将一个结构体直接Copy,通过网络发送到服务段,服务端不理解任何数据结构,只是当成一块内存数据,其实是想编组成一个Tuple送给STREAM的核心,按STREAM核心的编组格式.但是我的查询客户端查出来的数据就是不对。最终想到可能是系统为加速内存访问,在我的结构体里面补了些东西,经过将服务端段的数据内存大小和客户端的结构体内存大小,服务端的大小大于客户端的结构体大小,客户端的结构体大小是105,到了服务端的大小是108,明白了以后,解决问题就自然简单了,然后我在客户将结构体的成员一个一个的复制到内存再发到服务端,这样就OK了。
希望给大家一些教训。
相关阅读 更多 +