Вот что получилось.
Кстати почему не работает вот такой способ узнать длину массива
int i = DataBuf.length?
PHP код:
if(canId == 293) // 125HEX
{
if ((buf[0] >> 4) == 0x01){
Length = (buf[0] & 0x0F * 256 + buf[1]) - (len -2);
for (int i=0; i<len;i++){
DataBuf[i] = buf[i];
}
}
if(((buf[0] >> 4) == 0x02) && Length > 0){
int sz = sizeof(DataBuf);
Length = Length - len;
if (Length > len){
for (int i = sz; i < (len + sz);i++){
DataBuf[i] = buf[i-sz];
}
}
else{
for (int i =sz; i < (Length +sz);i++){
DataBuf[i] = buf[i-sz];
}
//тут надо обрабатывать полученный пакет
}
}
}
Работоспособно?