Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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.006 c
6-61244
Shur_ap
2002-07-15 20:53
2002.09.19
Разрыв соединения


14-61287
delphiguru
2002-08-23 19:32
2002.09.19
ShellExecute и WinExec


4-61340
=SOFT=
2002-07-26 12:02
2002.09.19
Возможно ли подключить визуальный компонент к программе на API


6-61234
BillyJeans
2002-07-16 15:15
2002.09.19
Как получить дату с сервера?


1-61171
eruc
2002-09-07 15:12
2002.09.19
Как узнать: была ли уже создана форма или нет ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский