Лучший способ передать смешанные юникод и однобайтовые символы через boost :: asio - PullRequest
0 голосов
/ 26 сентября 2011

Мы пытаемся использовать широкополосные функции winapi для получения информации о реестре.Затем нам нужно передать эту информацию по сети.

LPWSTR PerfData = (LPWSTR) malloc(8192);
RegQueryValueEx(hSubKey, TEXT("DisplayName"), NULL, NULL, (LPBYTE) PerfData, &cbData);

Теперь, когда у нас есть самые широкие символы, мы будем заполнять их xml однобайтовыми символами.Важно сэкономить как можно большую полосу пропускания, поскольку, поскольку она выполняет итерацию на тысячах компьютеров, она уже забила нашу сеть, когда мы использовали отдельные байты.

Кроме того, как я собираюсь разделить их на другой стороне?

1 Ответ

0 голосов
/ 26 сентября 2011

Самый дешевый (с точки зрения пропускной способности) протокол, который я использовал до сих пор, был protobuf от Google .Я настоятельно рекомендую это.Что касается boost-asio, он не вызывает никаких накладных расходов - asio - хороший выбор.Вы также можете рассмотреть возможность его сжатия (используйте boost iostreams gzip filter с asio).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...