如何从byte[]数组取出前面一部分(长度比如1329),数组剩下索引的自动前移?

cuiran 发布于 2014/08/04 10:36
阅读 2K+
收藏 0

各位好,遇到一个问题,在java中 udp发送组播 有一个大的byte[]数组,想一次只发送1329字节,然后剩下的索引自动前移从0开始。

在c/c++中大概是这样

LPBYTE pData; //缓冲区

SEND_SIZE=1329

typedef struct //数据包头
{
ULONGLONG ulPacketNum; //包序号,0开始,到头后回到0
DWORD dwCurTime; //包接收到的时刻,单位ms,到头后回到0
BYTE  chCmd; //用于控制切换的命令,

} PACKET_HEAD, * PPACKET_HEAD;

pHead = (PPACKET_HEAD)(pLive->pData + pLive->iSendIndex * SEND_SIZE);

pMCSocket->SendTo((BYTE*)pHead+13, SEND_SIZE-13, pLive->iLivePort, pLive->szLiveIP);

java中就不太清楚怎么处理了,谢谢!

加载中
0
平安北京
看api啊,bytebuffer,System.arrayCopy等等
0
尐帥鱼
尐帥鱼
记下发送的长度,然后继续发送吧
0
姬鑫
姬鑫
你好,我看到了你发的帖子,在service  建立长连接一直读数据的问题,还有收到数据为了避免 粘包 少包的问题,在处理中  也遇到了 你这个帖子的问题, 求指导,能详细点在好不过了,谢谢了 跪求参考代码 247921407@qq.com
返回顶部
顶部