Форум: "Сети";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
ВнизПередача Класса, Записи по сети??? Найти похожие ветки
← →
hogus (2002-07-13 14:41) [0]Возможно ли в Делфе передача классов или записей по срадствам WinAPI или стандартными Делфевыми сокетами?????
← →
Anatoly Podgoretsky (2002-07-13 15:03) [1]Еще бы понять, что ты под этим подразумеваешь, я про классы, с записями понятно, непрерывный блок байт, соответственно и стандартные методы передачи
← →
hogus (2002-07-13 15:08) [2]
Ладно сорри, не правильно поставил вопрос... КАК ЭТО Сделать???
Stream"ом что ли????
← →
Digitman (2002-07-15 11:53) [3]Да, поток наиболее подходит для этой задачи.
Но здесь следует говорить не о приеме/передаче классов, а о приеме/передаче объектов - экземпляров классов.
Задача трансляции некоего объекта по некоему каналу передачи данных сводится к передаче его (объекта) свойств. Свойства же имеют конкретные типы.
Т.о., при передаче объекта следует последовательно (в заранее определенном порядке) записать в транспортный поток данных, передаваемый приемнику:
- идентификатор класса объекта,
- количество передаваемых свойств,
- имена свойств,
- иденентификаторы типов свойств,
- значения св-в
Все это определяет некую "уникальность" данного объекта (иными словами - его описание) и позволяет принимающей стороне воссоздать копию объекта по переданному его описанию.
Принимающая сторона должна, разумеется, "знать" формат передаваемой последовательности, описывающей объект.
- получив идентификатор класса, приемник создает в своем АП соответствующий экземпляр - "шаблон"
- получив следом идущий список описателей свойств, приемник в соответствии с ним назначает соответствующие св-ва "шаблону"
Абстрактный класс TStream имеет некоторые встроенные автоматизированные средства для поточного чтения/записи объектов класса TComponent. Поточные методы WriteComponent/ReadComponent реализуют автом.запись/чтение published-свойств передаваемых/воссоздаваемых TComponent-объектов. Вспомогательные классы TFiler, TReader/TWriter позволяют указать дополнительные св-ва (кроме published), предназначенные к поточной трансляции в произвольно задаваемой последовательности.
Теперь - трансп.уровень.
Задача передающего гнезда - получив в кач-ве параметра поток, описывающий один или более объектов, передать его целиком просто как блок неких данных известного размера
Задача принимающего гнезда - приняв некий поток данных некоего размера, "превратить" его в Stream и передать на вход алгоритма интерпредации принятого потока, который, собственно, и воссоздает один или более объектов по инф-ции, последовательно считываемой из этого потока.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c