Настройка компонента
Чтобы передавать данные нужно настроить свойства:
Св. RemoteHost:String; // Ip-адрес или доменное имя получателя UDP-дейтаграммы.
Св. RemotePort:integer; // Номер порта получателя.
Для приема данных:
Св. LocalPort:integer; // все UDP –пакеты с этим номером порта будут доставляться вашему приложению. Свойство может задаваться только в режиме конструирования.
Передача данных
Пр. SendBuffer(buff: array of char; length:integer); // Передача length байтов сообщения, находящегося в buff (открытый массив символов).
Пр. SendStream(datastream:tsream); // Передача потока данных DataStream.
После успешной посылки данных возникает событие ondatasend
Прием данных
После приема данных возникает событие:
Св. ondatareceived :tonreceive ;
Tonreceive = procedure(sender :tcomponent; numberbytes: integer; fromIP: string; port:integer) of object .
Numberbytes- количество байтов, которые пришли.
FromIP-IP- адрес отправителя, port – порт отправителя.
Пр. readbuffer (var buff: array of char ; var length : integer); //Чтение принятых данных в buff, length-количество байтов, которые нужно считать. Возвращается в length количество фактически принятых данных.
Пр. readstream (data stream:tstream ) ; // Прием потока данных.
Если при чтении возникают проблемы, то происходит одно из двух событий:
Св. onbufferinvalid: tbufinvalid.
Tbuffinvalid = procedure (var handled: boolean; var buff: array of char; var length:integer) of object.
Например, если буфер недостаточно велик.
Если программист устранил причину ошибки, то нужно установить параметр handled в true.
Св. onStreamInvalid: tStream Invalid.
tStreamInvalid = procedure (var handled: boolean ; stream : tstream ) of object.
Возможна попытка повторного чтения.
Похожие записи
No user прокомментировали сообщение
Оставить комментарий