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

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

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

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

Операция записи с помощью 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.