P.S. Не могу передать массив с клиента на сервер.
Это мне нужно для того, чтобы с клиента передать аудио-chunk на сервер, профильтровать игроков, которые получат это аудио, и отправить на клиент - чтобы сделать decode, и воспроизвести звук. (В общем, пытаюсь писать свой голосовой чат

CLIENT: unsigned char array[256]; BitStream bitStream; bitStream.Write<int>(256); // array size bitStream.Write((const char*)array, 256); RakNet::send_rpc(655, &bitStream, /* бла-бла-бла, остальные параметры */); // ICustomRPC:655(playerid, BitStream:bs) { new array_len; BS_ReadValue(bs, PR_INT32, array_len); new array[256]; BS_ReadValue(bs, PR_UINT8, array, array_len); // делаю с этим массивом всё, что хочу }

Помогите, кому не лень
Решил проблему, решением оказалось:
bs.Write<unsigned int>(512); bs.Write((char*)array, 512); ICustomRPC:655(playerid, BitStream:bs) { new opusLen; new array_len; // BS_ReadValue(bs, PR_UINT32, opusLen); BS_ReadValue(bs, PR_UINT32, array_len); printf("array_len: %d", array_len); new data[512]; BS_ReadValue(bs, PR_STRING, data, array_len); for (new i = 0; i < sizeof data; i++) { // if (data[i] == 0) continue; printf("opus_data[%d] = %d", i, data[i]); } return 1; }

P.S. Не верный тип данных использовался при чтении.
Сообщение отредактировал swlm: 30 мая 2025 - 20:13