#c# #stream #compression
#c# #поток #сжатие
Вопрос:
Я ищу несколько быстрых реализаций потоков с низкой задержкой для C # / .Net, и мне было бы интересно, что там есть. Эти потоки будут предоставлять текущие рыночные данные, поэтому меня интересует низкая задержка, а также умеренно высокое сжатие, и данные будут передаваться в потоке TCP. Какие параметры доступны для сжатия потока TCP?
Ответ №1:
Вы могли бы сериализовать свои данные с помощью Protobuf.net, который уменьшает размер за счет плотного кодирования.
Как говорит Марк, вероятно, лучше использовать необработанный сокет.
Комментарии:
1. Технически, это просто плотно закодировано — не «сжато» как таковое. Но я поддерживаю вашу рекомендацию; p За исключением того, что я, вероятно, использовал бы необработанный сокет в представленном сценарии.
2. (под этим я подразумеваю: protobuf-net на сокете, а не protobuf-net через WCF; p)
3. Важна плотная кодировка, давайте предположим, что я уже уплотнил свои двоичные представления. Что бы вы сделали, чтобы еще больше сжать свои данные?
4. @Marc Gravell: lol извините, у меня это было открыто в двух окнах. Представил частично обновленный вариант 🙂
5. @Superman буферы протокола Google в значительной степени таковы; так что, если вы уверены в своем внутреннем представлении, это может быть не для вас. Для большинства людей это практичный способ добиться плотного потока без особых усилий.