Правила для завершения операций чтения и операций записи по TCP/IP и UDP

Правила для завершения синхронных и асинхронных операций чтения и операций записи описаны здесь.

Для общего обзора о записи и чтении данных, а также списка всех присоединенных функций и свойств, относятся к Связи с Вашим Инструментом.

Завершение операций записи

Операция записи с помощью fprintf или fwrite завершается, когда одному из этих условий удовлетворяют:

  • Заданные данные записаны.

  • Время задано Timeout передачи свойства.

В дополнение к этим правилам можно остановить асинхронную операцию записи в любое время с stopasync функция.

Текстовая команда обрабатывается инструментом только, когда это получает необходимый терминатор строки. Для TCP/IP и объектов UDP, каждого вхождения \n в ASCII команда заменяется Terminator значение свойства. Поскольку формат по умолчанию для fprintf %s\n, все команды, записанные в инструмент, закончатся Terminator значение. Значение по умолчанию Terminator символ перевода строки. Терминатор строки, требуемый вашим инструментом, будет описан в его документации.

Завершение операций чтения

Операция чтения с fgetlfgetsfscanf, или readasync завершается, когда одному из этих условий удовлетворяют:

  • Терминатор строки задан Terminator свойство читается. Для объектов UDP, DatagramTerminateMode должен быть off.

  • Время задано Timeout передачи свойства.

  • Входной буфер заполнен.

  • Конкретное количество значений читается (fscanf и readasync только). Для объектов UDP, DatagramTerminateMode должен быть off.

  • Дейтаграмма получена (для объектов UDP, только когда DatagramTerminateMode on).

Операция чтения с fread завершается, когда одному из этих условий удовлетворяют:

  • Время задано Timeout передачи свойства.

  • Входной буфер заполнен.

  • Конкретное количество значений читается. Для объектов UDP, DatagramTerminateMode должен быть off.

  • Дейтаграмма получена (для объектов UDP, только когда DatagramTerminateMode on).

Примечание

Установите свойство терминатора строки на '' (пустой указатель), при необходимости чтобы гарантировать эффективную пропускную способность двоичных данных.

В дополнение к этим правилам можно остановить асинхронную операцию чтения в любое время с stopasync функция.