日期:2014-05-20  浏览次数:20720 次

帮忙看看如下程序,挺有意思的!

以下使用Java写的一段代码:
public   synchronized   byte[]   getAsByteArray()   {

ByteBuffer   buffer   =   ByteBuffer.allocate(packet_size+10);
buffer.order(Constants.PACKET_BYTEORDER);

buffer.put(STRUCT_HEADER.getBytes());//放入char类型
buffer.putInt(STRUCT_VERSION);//放入unsigned   long   int   类型

buffer.put(playersPerTeam);
buffer.put(gameState);
buffer.put(firstHalf);
buffer.put(kickOffTeam);
buffer.put(secondaryState);
buffer.put(dropInTeam);
buffer.putShort(dropInTime);
buffer.putInt(estimatedSecs););//放入unsigned   int   类型


//   blue   team

buffer.put((byte)getTeamNumber(Constants.TEAM_BLUE));
buffer.put((byte)Constants.TEAM_BLUE);
buffer.putShort((short)getScore(Constants.TEAM_BLUE));
buffer.rewind();
                byte[]   array   =   new   byte[packet_size];
                buffer.get(array);
                return   array;
        }
        具体来说就是将一些unsigned   long   int   和unsigned   int数据放到buffer中之后再将这个缓冲区的字节都付给byte数组array.之后将array之中的内容用UDP发出去(发送程序没写).但在C++中好像没有ByteBuffer这种类型,请问c++中应该如何编写完成这样功能的程序?万分感谢!



------解决方案--------------------
没用C++好久了。