demenev | Дата: Четверг, 07.01.2010, 15:50 | Сообщение # 1 |
Группа: Удаленные
| Компонент 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; } //-------------------------------------------------------------
|
|
| |