c++通过socket传送过来的数据,我怎么验证啊?我这边用的是java

(1)数据包格式(所有数值为大端格式
发送:| 包总长 (2B) | 命令字 (4B) | 数据 (不定长) | CRC32 (4B) |
接收:| 包总长 (2B) | 数据 (不定长) | CRC32 (4B) |
传送格式就是上面的这样的,
在我接收到C++传过来的数据之后,java服务端怎么把 (| 包总长 (2B) | 命令字 (4B) | 数据 )这三个部分 生成CRC32,然后和 C++传过来的CRC32进行验证?

http://bbs.csdn.net/topics/90305880