Форум Pawn.Wiki - Воплоти мечту в реальность!: C++ and Pawn (RakNet, data manipulation) - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

[ C++ ]
C++ and Pawn (RakNet, data manipulation) (RakNet, data manipulation)
Оценка: -----

#1
Пользователь офлайн   swlm 

  • Профессионал
  • Вставить ник
  • Раскрыть информацию
Всем привет. Вопрос может показаться очень странным, но второй раз уже натыкаюсь на эту проблему.
P.S. Не могу передать массив с клиента на сервер.
Это мне нужно для того, чтобы с клиента передать аудио-chunk на сервер, профильтровать игроков, которые получат это аудио, и отправить на клиент - чтобы сделать decode, и воспроизвести звук. (В общем, пытаюсь писать свой голосовой чат :biggrin: )
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

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика