HTTP Разделенное на блоки кодирование передачи: Как Вы отправляете “\\r\n”?

foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit)))
{
}

Примечание : бросок к (Suit[]) не строго необходим, , но действительно делает код на 0,5 нс быстрее.

5
задан Alex Black 6 August 2009 в 22:25
поделиться

2 ответа

«\ r \ n» на самом деле не является разделителем фрагментов. Размер блока определяет количество байтов, состоящих из данных этого блока. Затем клиент должен без труда прочитать "\ r \ n" в вашем сообщении.

15
ответ дан 18 December 2019 в 07:56
поделиться

По замыслу, это не проблема. Каждый блок определяет размер своего блока данных в байтах. Содержимое каждого блока данных является произвольным и должно приниматься как таковое, поэтому оно может включать в себя разрывы строк. Если клиент правильно считывает каждый фрагмент (считывает строку и анализирует ее размер в байтах, затем считывает указанное количество байтов, затем считывает разрыв строки), не имеет значения, есть ли разрывы строк в данных, поскольку клиент читает данные, основываясь на размере байта, а не на переносах строк.

5
ответ дан 18 December 2019 в 07:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: