Использование UDP компонента для
отправки строки.
Компилятор: C++ Builder
Компонент UDP имеет всего 2 метода, SendData и GetData.
Метод SendData используется для отправки данных типа
Variant. Процесс приёма данных выглядит немного
сложнее. Для этого используется метод GetData с
переменной типа VT_BSTR (обычно BCB эта переменная
установлена в VT_BSTR | VT_BYREF, но нам это не подходит).
Принимать данные можно когда происходит событие
UDP->OnDataArrival. Ниже приведён пример,
демонстрирующий использование компонента UDP.
//Начало кода---------------------------------------------------
//в начале значение порта устанавливается в 11 как для локального,
//так и для удалённого компьютера, однако это значение можно поменять
//по Вашему усмотрению
void __fastcall TMainForm::SendClick(TObject *Sender)
{
//устанавливаем ip хоста, которому хотим отправить
UDP->RemoteHost = ebSendTo->Text;
//отправляем данные на удалённый хост
UDP->SendData (ebData->Text);
}
//-------------------------------------------------------------
void __fastcall TMainForm::UDPDataArrival(TObject *Sender,
int bytesTotal)
{
//создаём переменную для приёма данных
Variant msg;
//устанавливаем её тип в VT_BSTR (основная строка)
msg.AsType (VT_BSTR);
//получаем широковещательные данные
UDP->GetData (msg, VT_BSTR);
//помещаем принятое сообщение в окошко редактирования
ebRecieved->Text = msg;
}
//-------------------------------------------------------------
|