Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Интepнeт 
Общие - UDP

UDP
Краткое описание
   Компонент для работы с сокетами по протоколу UDP.
Параметры
  • LocalPort - Порт к которому привязывается сокет
  • RemotePort - Порт для отсылки данных
  • LocalIP - IP адрес к которому привязывается сокет
  • RemoteIP - IP адрес для отправки данных
  • AutoConnect - Автоматически связывать отправку данных сокета с указанным адресом и портом (для метода doSend)
  • ReceiveMode - Thread - с использованием потоков, Manual - ручной приём
  • BroadCast - Разрешить отправку широковещательных пакетов
  • Методы
  • doOpen - Создание сокета
  • doSend - Отправка данных на указанный при создании сокета адрес (AutoConnect=True)
  • doReceive - Приём данных, переданных сокету
  • doClose - Уничтожает сокет
  • doSendTo - Отправка данных на произвольный IP адрес(AutoConnect=False)
  • doReceiveFrom - Приём данных, переданных сокету с получением IP адреса отправителя
  • События
  • onReceive - Событие происходит всякий раз, после приёма данных и выдает их в поток
  • onError - Событие происходит всякий раз в случае ошибки при работе с сокетом и выдает её номер в поток
  • Свойства
  • ReceiveIP - Содержит адрес отправителя принятых данных при использовании метода doReceiveFrom
  • Activate - Содержит 1, если сокет открыт, и 0 - в противном случае
  • Данные
  • Data - Данные для отправки
  • RemoteIP - IP адрес для отправки данных
  • LocalIP - IP адрес к которому привязывается сокет
  • RemotePort - Порт для отсылки данны
  • LocalPort - Порт к которому привязывается сокет
  • Примеры
       Простой пример односторонней отправки данных на удаленный порт UDP. Блоки Sender и Receiver представляют собой условное разбиение на клиента и сервера соответственно. Условное потому, что в протоколе UDP нет таких понятий и каждая из сторон может являться и "сервером" и "клиентом" одновременно.

    Add(MainForm,9331961,84,133)
    {
    Width=342
    Height=101
    Caption="JDP Example"
    BorderStyle=3
    Position=1
    link(onCreate,2660488:doEvent1,[])
    }
    Add(UDP,14965620,301,147)
    {
    RemotePort=101
    RemoteIP="127.0.0.1"
    AutoConnect=0
    ReceiveMode=1
    link(Data,439447:Text,[])
    }
    Add(Button,7982244,245,154)
    {
    Left=30
    Top=10
    Caption="Send"
    link(onClick,14965620:doSend,[])
    }
    Add(Hub,2660488,147,147)
    {
    link(onEvent1,14965620:doOpen,[])
    link(onEvent2,5657020:doOpen,[(193,160)(193,223)])
    }
    Add(UDP,5657020,224,217)
    {
    LocalPort=101
    LocalIP="127.0.0.1"
    link(onReceive,9489154:doText,[])
    }
    Add(Edit,439447,301,91)
    {
    Left=105
    Top=10
    Width=215
    }
    Add(Label,9489154,280,217)
    {
    Left=105
    Top=45
    }
    Add(InfoTip,9343946,210,77)
    {
    Info=#6:Sender|
    Width=148
    Height=116
    }
    Add(InfoTip,5835578,210,196)
    {
    Info=#8:Receiver|
    Width=148
    Height=67
    }
    Замечания
       Так же стоит помнить о том, что максимальная длинна одного пакета данных при отправке по UDP не может превышать 65507 байт.

       Для более подробной информации рекомендуется обратиться к статье:
    http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1021

    Обновление элемента: [svn]UDP.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...