Как передать массив short через send (winsock)?

426
18 января 2017, 00:27

Есть клиент и сервер через TCP. Клиент записывает звук в массив и отправляет серверу:

short foo[512];

Сервер должен принять и преобразовать это в тот же массив (для проигрывания звука).

Вопрос лишь в том как преобразовать short foo[512]; в const char *bar для send()

И так же как его преобразовать уже на сервере обратно из const char *bar в short foo[512];

Answer 1

Да просто передавайте как

send((const char*)foo, sizeof(foo));

Словом, просто укажите, сколько байт передавать. Передача идет побайтово, тут тип не имеет значения. Выбран тип указателя const char*, к которому и приводите свой буфер.

Принимаете аналогично.

READ ALSO
Заменяются буквы символами [требует правки]

Заменяются буквы символами [требует правки]

В Интернете я искал ответ на этот вопрос - ничего нужного не нашел

311
Как работает getline()?

Как работает getline()?

Задача очень проста: на вход поступает количество принимаемых строк, и затем сами строкиНа выход должно выйти (через пробел) количество гласных...

344
Границы диаграммы вороного, Boost Voronoi

Границы диаграммы вороного, Boost Voronoi

Как можно задать границы для диаграммы вороного? С помощью boost построил диаграмму вороного

296
Сортировка в QTableView

Сортировка в QTableView

При установке setSortingEnabled(true) экземпляра QTableView в хэдерах колонок появляются переключаемые значки сортировки, но при нажатиях на них сама сортировка...

514