Правила для завершения синхронных и асинхронных операций чтения и операций записи описаны здесь.
Для общего обзора о записи и чтении данных, а также списка всех присоединенных функций и свойств, относятся к Связи с Вашим Инструментом.
Операция записи с помощью fprintf
или fwrite
завершается, когда одно из этих условий удовлетворено:
Заданные данные записаны.
Прошло время, заданное как свойство Timeout.
В дополнение к этим правилам можно остановить асинхронную операцию записи в любое время с функцией stopasync
.
Текстовая команда обрабатывается инструментом только, когда это получает необходимый терминатор строки. Для TCP/IP и объектов UDP, каждое вхождение \n
в команде ASCII заменяется значением свойства Terminator
. Поскольку форматом по умолчанию для fprintf
является %s\n
, все команды, записанные в инструмент, закончатся значением Terminator
. Значение по умолчанию Terminator
является символом перевода строки. Терминатор строки, требуемый вашим инструментом, будет описан в его документации.
Операция чтения с fgetl
, fgets
, fscanf
или readasync
завершается, когда одно из этих условий удовлетворено:
Считался терминатор строки, заданный как свойство Terminator.
Для объектов UDP DatagramTerminateMode
должен быть off
.
Прошло время, заданное как свойство Timeout.
Входной буфер заполнен.
Конкретное количество значений читается (только fscanf
и readasync
). Для объектов UDP DatagramTerminateMode
должен быть off
.
Дейтаграмма получена (для объектов UDP, только когда DatagramTerminateMode
является on
).
Операция чтения с fread
завершается, когда одно из этих условий удовлетворено:
Прошло время, заданное как свойство Timeout.
Входной буфер заполнен.
Конкретное количество значений читается. Для объектов UDP DatagramTerminateMode
должен быть off
.
Дейтаграмма получена (для объектов UDP, только когда DatagramTerminateMode
является on
).
Установите свойство терминатора строки на ''
(пустой указатель), при необходимости гарантировать эффективную пропускную способность двоичных данных.
В дополнение к этим правилам можно остановить асинхронную операцию чтения в любое время с функцией stopasync
.