программирование сокета: Как я обрабатываю из данных полосы

Многие другие не указали на реальную проблему:

Операция только для целых чисел передает результат операции целому числу.

Это обязательно означает, что результаты с плавающей запятой, которые могли бы отображать в виде целого числа, будут усечены (вырезать десятичную часть).

Что такое литье (typecasting / type conversion) вы спрашиваете?

Это зависит от реализации языка, но Wikipedia имеет довольно полное представление, и он также говорит о принуждении который является ключевой частью информации при ответе на ваш вопрос.

http://en.wikipedia.org/wiki/Type_conversion

20
задан soulmerge 26 February 2009 в 10:14
поделиться

3 ответа

Я знаю, что Вы решили, что не должны обрабатывать данные OOB, но здесь являетесь некоторыми вещами иметь в виду, делаете ли Вы когда-нибудь забота о OOB...

  • IPv4 не делает действительно , отправляют данные OOB по отдельному каналу, или в другом приоритете. Это - просто флаг на пакете.
  • данные OOB чрезвычайно ограничены - 1 байт!
  • данные OOB могут быть получены или встроены или отдельно в зависимости от опций сокета
  • "исключение", сигнализирующее, что данные OOB могут произойти, даже если следующее чтение не содержит данные OOB (сетевой стек на отправителе может отметить, любой уже поставил данные в очередь, таким образом, другая сторона будет знать, что существует OOB как можно скорее). Это часто обрабатывается путем ввода цикла "дренажа", где Вы отбрасываете данные, пока фактические данные OOB не доступны.

, Если это кажется немного сбивающим с толку и бесполезным, поэтому это главным образом. Там серьезные основания использовать OOB, но это редко. Одним примером является FTP, где пользователь может быть посреди большой передачи, но решить прерваться. Аварийное прекращение работы отправляется как данные OOB. В той точке сервер и клиент просто едят дальнейшие "нормальные" данные для дренажа чего-либо, что это все еще в пути. Если бы аварийное прекращение работы было обработано встроенное с данными тогда, то весь выдающийся трафик должен был бы быть обработан, только чтобы быть выведенным.

хорошо знать, что OOB существует и основы того, как это работает, на всякий случай Вам когда-либо нужен он. Но не потрудитесь изучать это вывернутый наизнанку, если Вам не просто любопытно. Возможности достойны Вы май никогда использование это.

25
ответ дан 29 November 2019 в 21:32
поделиться

Я думаю, что нашел ответ на эта страница . Короче говоря:

я не должен обрабатывать данные OOB по стороне получения, если я не отправка никакие данные OOB. Я думал, что данные OOB могли быть сгенерированы ОС отправителя.

3
ответ дан 29 November 2019 в 21:32
поделиться

Вы не должны обрабатывать его в принимающем конце, даже если Вы отправка его - данные OOB прозрачно проигнорированы при всех обстоятельствах, если Вы активно не идете о получении его.

0
ответ дан 29 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

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