Вниз
Скачать: CL | DM;

Передача Класса, Записи по сети???   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.056 c
1-61046
Prok12
2002-09-08 16:46
2002.09.19
Как избавиться от сообщений типа:


8-61219
VID
2002-05-20 14:38
2002.09.19
Определение типа файла


7-61329
Lex_2000
2002-05-13 13:07
2002.09.19
Проблема переноса программы с Win98 на NT. (+)


14-61305
easy
2002-08-24 17:36
2002.09.19
логическая задача...


1-61212
UnixManiac
2002-09-09 04:57
2002.09.19
Timer




   Наверх