2014-04-18 5 views
0

Я использую API асинхронного сокета в C#. На стороне клиента мне нужен буфер для хранения двоичных данных, считанных с сервера. И другая клиентская логика проверит буфер, распакует голову, чтобы увидеть длину, если длина меньше, чем указана заголовком, продолжите. И в следующий раз мы снова проверим буфер. Для сетевой логики мне нужно поддерживать этот буфер, и я хочу знать, какой тип данных я должен использовать.Какой тип данных подходит для буфера ввода-вывода в C#

В python мы используем строку в качестве буфера, но я не думаю, что это сработает на C#. Неэффективность, проблема кодирования (мне нужно разобрать двоичные данные самостоятельно, не обязательно на строку), часто менялось. Как насчет струн-культиватора? Любые другие предложения?

+3

использовать 'byte []', который является естественным типом данных для ввода/вывода сокетов. –

+0

@EugenRieck Зачем давать ответ в виде комментария? –

+0

@EugenRieck Для этого требуется управление буфером, например, startIndex и Length. И длина массива фиксирована, а как насчет импульса трафика связи? – zoujyjs

ответ

2

Я бы использовал byte[]. Он выполнит свою работу.

Смежные вопросы