![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
UDP,NetFlow [D7, WinXP]
ZDenis © (2005-12-20 13:00:00)Помогите разобраься,пытаюсь с помощью Indy компонента UDPServer получить данные по протоколу NetFlow(Cisco).На событие UDPServerUDPRead вешаю обработчик.Так вот там есть переменная AData: TStream,но насколько я понимаю это для потоковых протоколов.А как получить данные для дейтаграммных протоколов?
FrykT (2005-12-26 19:55:00) [1]>>tesseract ©
Так там пакет целиком приходит. Половина пакета не может прийти.
Или я не совсем понял, что ты имел ввиду..
tesseract (2005-12-26 10:38:00) [2]Каким - передача-то всё-равно пакетная (USER DATAGRAM PROTOCOL).
Как передаём/получаем - дело более вышестоящих чем UDP протоколов.
>> FrykT ©
Имей в виду Pascal-строки отличаются от PCHAR. У них первым символом длина строки идёт. Так-что твой код может, не сработать.
Verg (2005-12-24 20:23:00) [3]
> tesseract © (23.12.05 17:33) [2]
> А можно спросить чем дейтаграммные протоколы отличаются
> от потоковых?????
Принципом.
FrykT (2005-12-24 20:04:00) [4]
var
List: TStringList;
begin
List := TstringList.create;
List.LoadFromStream(AData);
//в List.text - Нужные тебе данные типа String;
List.free; //не забываем в конце
end;
tesseract (2005-12-23 17:33:00) [5]А можно спросить чем дейтаграммные протоколы отличаются от потоковых?????
Digitman (2005-12-22 14:10:00) [6]
> там есть переменная AData: TStream,но насколько я понимаю
> это для потоковых протоколов
неправильно понимаешь.
просто доступ к данным УЖЕ ПОЛУЧЕННОЙ полученной тобой дейтаграммы тебе предлагается осуществлять с помощью объекта поточного класса