Самый простой способ (на сегодняшний день) будет иметь по запросу клиентские фрагменты аудиофайла. std::net::TcpStream
(это то, что, как вы сказали, вы используете) не имеет метода регулирования скорости передачи, поэтому у вас нет многих возможностей ограничить потоковую передачу, кроме использования жестко заданных задержек потоков.
Например, ваш клиент может сохранить сегмент аудио, а когда пользователь, прослушивающий аудио, достигает определенной точки до конца сегмента (или пропускает его вперед), клиент отправляет запрос на сервер. получить соответствующий сегмент.
Это похоже на работу реальных потоковых сервисов (таких как Youtube), потому что, как вы сказали, было бы плохой идеей хранить весь файл на стороне клиента.
Я нашел еще некоторую справку здесь...
DebuggerVisualizer для DynamicMethod (Показывают мне IL) Это, отладчик visualizer использование, которое Вы сможете видеть сгенерированный IL во времени выполнения!
И еще лучше Отлаживает LCG, который позволяет Вам отлаживать сгенерированный код при использовании времени выполнения Windbg!
Попытайтесь использовать peverify инструмент для проверки IL. Из MSDN:
peverify.exe выполняет всесторонние проверки проверки MSIL на основе анализа потока данных плюс список нескольких сотен правил о допустимых метаданных. Для получения дальнейшей информации на проверках Peverify.exe работает, посмотрите "Спецификацию Проверки Метаданных" и "Спецификацию Системы команд MSIL" в папке Tools Developers Guide в Платформе.NET SDK.
Необходимо будет сохранить сгенерированный код на диск как блок для этого, чтобы быть полезными все же.
Это не может помочь Вам в конце отладки, но RunSharp является хорошим инструментом для генерации IL, который помогает Вам избежать распространенных ошибок. Это делает Запись чувством IL намного более сходно с записью C#.
Вот обзор с примерами: http://www.codeproject.com/KB/dotnet/runsharp.aspx
Нет никакого способа отладить IL непосредственно в смысле использования отладчика (не встроенный, по крайней мере). У Вас действительно только есть две опции здесь
Необходимо испустить символьную информацию, чтобы смочь отладить IL.
Испускание символьной информации с отражением испускает
и соответствуйте испускаемым кодам операций соответствующему местоположению в Вашем файле, который испускает его. (Где ILGenerator. Испустите (), вызов).
Но это - конечно, не тривиальная задача.
Править:
Вы не можете отладить код, который не поддается проверке, это не получает Редактора монеты в пять центов вообще. Необходимо проверить корректное использование операции в секунду IL. каждый из имеют в стеке надлежащие операнды необходимого типа, который он ожидает?
Редактирование 2:
И простой способ сделать это состоит в том, чтобы создать код с помощью C#, затем используют Отражатель, или некоторый другой дизассемблер IL также видят IL и сравнивают его с Вашим.
Редактирование 3: К сожалению, информация об отладке не может быть испущена с помощью DynamicMethod, но WinDBG может использоваться для дампа IL, Jose Fco Bonnin объясняет это в своем блоге. Выполнение динамического IL с DynamicMethod:
Основная проблема, которую мы испытываем с DynamicMethod, состоит в том, что у нас нет способности генерировать информацию об отладке для LCG, начиная с отладки API основан на метаданных, которые не имеет LCG. В любом случае не все потеряно, так как мы можем продолжить отлаживать с WinDBG...
процесс объяснен далее в сообщении.
ldarg.1 ldarg.0 ldfld, System.String FirstName callvirt, Void Write(System.String)
На данном этапе у Вас все еще есть arg1 на стеке.