怎样从一个接收到的socket数据流中读取一个整数出来?解决方案

怎样从一个接收到的socket数据流中读取一个整数出来?
接收到的socket数据流我用工具截获的十六进制的数据为 07 11 45 BA 08 01 10 00 18 00
上面的数据最前面一部分是一个short和一个int数据,应该是07 11 45 BA 08 01这部分。
如何将07 11 45 BA 08 01解析为一个short和一个int呢?
假设socket数据流存放在byte[] buf中,怎样实现代码?

------解决方案--------------------
short sdata;
int idata;
read(socket,&sdata,sizeof(short),0) //read short data
read(socket,&idata,sizeof(int),0) //read int data