Сокеты, получите число байтов, доступных (c#)

PHP:

1) Вынуждает меня сделать ненужные переменные:

$parts = explode('|', $string);
$first = $parts[0];

2) Реализация лямбд, так хромых, это примерно эквивалентно использованию eval() и таким образом, ужасно неправильно я никогда не использовал его (см. http://www.php.net/create_function).

3) Система попытки/выгоды, которая может только поймать приблизительно 80% ошибок, которые могли бы произойти.

4) Regex поддерживают так же, как Ламе как поддержка лямбды, потому что она должна быть записана внутренние обычные строки, делая один из большинства сложных для изучения инструментов программирования приблизительно в три раза более трудным. И PHP, как предполагается, является "легким" языком?!?!?

5) Никакой способ безопасно вытащить материал из $ _POST, не пишущий это дважды или создавая Вашу собственную функцию, или с помощью оператор:

$x = isset($_POST['foo']['bar']) ? $_POST['foo']['bar'] : null;

6) Бонусный ответ:. Если Вы не можете быть побеспокоены, пишущий Ваш код правильно, просто добавьте, и слишком плохо для любого, кто должен отладить Ваш код позже.

5
задан Welbog 6 August 2009 в 13:05
поделиться

2 ответа

Как указано в этой статье MSDN о свойстве NetworkStream.Length :

Получает длину данных, доступных в потоке. Это свойство всегда вызывает исключение NotSupportedException .

Это связано с тем, что данные передаются в поток по мере их поступления, поэтому не имеют реальной длины.

Однако сокет . Свойство Available сообщает вам, сколько байтов доступно для чтения в именно в этот момент . Значение может измениться в любой момент при поступлении новых данных.

8
ответ дан 13 December 2019 в 05:39
поделиться
4
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

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