COMBridge DEMO
От: araud  
Дата: 09.05.09 18:33
Оценка: 22 (3)
Вот и сайтик соорудили на эту тему... всех ждем в гости, пробуйте, пишите отзывы...
http://www.dcomlab.com/
Re: COMBridge DEMO
От: araud  
Дата: 09.05.09 18:35
Оценка:
Здравствуйте, araud, Вы писали:

A>Вот и сайтик соорудили на эту тему... всех ждем в гости, пробуйте, пишите отзывы...

A>http://www.dcomlab.com/

простите, промазал по кнопке, вместо ответа сделал тему...
Это конечно относится к перехвату интерфейсов
Re[2]: COMBridge DEMO
От: Tom Россия http://www.RSDN.ru
Дата: 11.05.09 13:35
Оценка:
A>простите, промазал по кнопке, вместо ответа сделал тему...
A>Это конечно относится к перехвату интерфейсов

Для такого дела новую тему не жалко
У нас в своё время не хватило желания и сил сделать что то комерческое из нашего творения.
Народная мудрось
всем все никому ничего(с).
Re[3]: COMBridge DEMO
От: araud  
Дата: 12.05.09 17:17
Оценка:
Здравствуйте, Tom, Вы писали:

A>>простите, промазал по кнопке, вместо ответа сделал тему...

A>>Это конечно относится к перехвату интерфейсов

Tom>Для такого дела новую тему не жалко

Tom>У нас в своё время не хватило желания и сил сделать что то комерческое из нашего творения.

Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...
Re[4]: COMBridge DEMO
От: Tom Россия http://www.RSDN.ru
Дата: 13.05.09 12:44
Оценка:
A>Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...
Ммм почему бы и нет. Но та на сабмит вопрос напиши.
Народная мудрось
всем все никому ничего(с).
Re[4]: COMBridge DEMO
От: SPeller  
Дата: 13.05.09 23:33
Оценка:
A>Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...

А о чем статья, инструкция по использовнаию демы, или таки полезная информация для других разработчиков подобных вещей?
Re[5]: COMBridge DEMO
От: araud  
Дата: 16.05.09 09:03
Оценка:
Здравствуйте, Tom, Вы писали:

A>>Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...

Tom>Ммм почему бы и нет. Но та на сабмит вопрос напиши.

ЭЭЭ это куда?
Re[6]: COMBridge DEMO
От: araud  
Дата: 16.05.09 09:06
Оценка:
Здравствуйте, araud, Вы писали:

A>Здравствуйте, Tom, Вы писали:


A>>>Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...

Tom>>Ммм почему бы и нет. Но та на сабмит вопрос напиши.

A>ЭЭЭ это куда?


Все нашел, спасибо за мысль.
Re[7]: COMBridge DEMO
От: SPeller  
Дата: 17.05.09 22:33
Оценка:
Кстати, совет по статье. Чтобы небыло непонятных кусков кода, желательно самостоятельно в свободное время написать рабочий пример, который наглядно описывал бы принцип функционировнаия системы. Тогда от статьи будет толк. А иначе это будет лишь самореклама, а не статья.
Re[8]: COMBridge DEMO
От: araud  
Дата: 23.05.09 11:23
Оценка:
Здравствуйте, SPeller, Вы писали:

SP>Кстати, совет по статье. Чтобы небыло непонятных кусков кода, желательно самостоятельно в свободное время написать рабочий пример, который наглядно описывал бы принцип функционировнаия системы. Тогда от статьи будет толк. А иначе это будет лишь самореклама, а не статья.


Я написал статью на CodeProject: у меня возникли сомнения, что от советской аудитории можно будет дождаться покупок. Хакнуть демку конечно не смогут, но и покупать не станут.
Re[9]: COMBridge DEMO
От: Unhandled_Exception Россия  
Дата: 24.05.09 19:43
Оценка:
Здравствуйте, araud, Вы писали:

A>Я написал статью на CodeProject


дай линк
Re[9]: COMBridge DEMO
От: SPeller  
Дата: 25.05.09 00:30
Оценка:
A>Я написал статью на CodeProject: у меня возникли сомнения, что от советской аудитории можно будет дождаться покупок. Хакнуть демку конечно не смогут, но и покупать не станут.

А мне было бы интересно почиnать о том, как вы решали проблему. Потому что я ее решил совсем по-другому Моим основным принципом было не засорять реестр никакими регистрациями, чтобы приложение никак не зависило от того, кто и что понаписал в реестр. Лишь бы доступ в сеть был и всё. Но при этом иметь все удобства работы с DCOM.
Re[10]: COMBridge DEMO
От: araud  
Дата: 25.05.09 07:49
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, araud, Вы писали:


A>>Я написал статью на CodeProject


U_E>дай линк


http://www.codeproject.com/KB/COM/ComBridge.aspx
Re[10]: COMBridge DEMO
От: araud  
Дата: 25.05.09 07:51
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Я написал статью на CodeProject: у меня возникли сомнения, что от советской аудитории можно будет дождаться покупок. Хакнуть демку конечно не смогут, но и покупать не станут.


SP>А мне было бы интересно почиnать о том, как вы решали проблему. Потому что я ее решил совсем по-другому Моим основным принципом было не засорять реестр никакими регистрациями, чтобы приложение никак не зависило от того, кто и что понаписал в реестр. Лишь бы доступ в сеть был и всё. Но при этом иметь все удобства работы с DCOM.


я много в реестр и не пишу, только набор своих комобъектов регистрю. А еще нужны только проксистабы тех объектов с которыми собираешься работать.
http://www.codeproject.com/KB/COM/ComBridge.aspx
Re[5]: COMBridge DEMO
От: araud  
Дата: 25.05.09 07:52
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Спасибо, да вообще статью бы накатать, чтобы в журнал попала. Но я не уверен опубликуют ли статью если она почти без исходного кода, а только ссылка на дему...


SP>А о чем статья, инструкция по использовнаию демы, или таки полезная информация для других разработчиков подобных вещей?

и то и другое
http://www.codeproject.com/KB/COM/ComBridge.aspx
Re[11]: COMBridge DEMO
От: Unhandled_Exception Россия  
Дата: 25.05.09 09:16
Оценка:
Здравствуйте, araud, Вы писали:

A>http://www.codeproject.com/KB/COM/ComBridge.aspx


похоже, еще не проаппрувили.
Re[12]: COMBridge DEMO
От: araud  
Дата: 25.05.09 16:20
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, araud, Вы писали:


A>>http://www.codeproject.com/KB/COM/ComBridge.aspx


U_E>похоже, еще не проаппрувили.


ура, она вышла в свет!
Re[13]: COMBridge DEMO
От: SPeller  
Дата: 25.05.09 21:54
Оценка:
Если честно, то, имхо, статья ни о чем. Озвучена проблема и приведена демо, и всё. Никакой полезной инфы о способах и путях решения.
Re[14]: COMBridge DEMO
От: araud  
Дата: 26.05.09 06:55
Оценка: :)
Здравствуйте, SPeller, Вы писали:

SP>Если честно, то, имхо, статья ни о чем. Озвучена проблема и приведена демо, и всё. Никакой полезной инфы о способах и путях решения.


1. Я думаю, мало кто знал о возможности вклинится между прокси и стабом. Это не пустая информация.
2. Если люди реально займуться разработкой своего решения, они обратятся и возможно получат ответы на некоторые вопросы.
А просто выкидывать в интернет годы очень сложной работы — мне кажется не целесообразно, как ты думаешь?
Какие у тебя предложения по дополнению статьи? Если услышу хорошие идеи — я мож и дополню ее.
Re[15]: COMBridge DEMO
От: SPeller  
Дата: 26.05.09 23:17
Оценка:
1. Моей задаче полтора месяца от ее постановки, через 3 дня поисков в гугле я знал всё то, что описано в статье, хотя на начало поисков я не знал вообще ничего ни про маршалинг, ни про прокси-стабы. Еще за месяц я реализовал полноценный клиент-сервер дком. До завершенного продукта ему еще предстоит пройти долгий путь, но уже сейчас он работоспособен. Фактически — это своя реализация дком, выдергивающая из системы функционал стандартного маршалинга. Правда, есть свои ограничения. Как оказалось, не маловажные, но решаемые.
2. Да, выкладывать годы работы не целесообразно. Но, как я уже писал выше — нужно сделать для статьи работоспособный пример реализации, который имел бы сильные играничения и упрощения в функционале, но показывал суть метода, которым достигнуто удаленное взаимодействие. Только тогда от статьи будет польза для общественности.

Со временем я, возможно, тоже напишу статью по изложенным выше принципам, идея такая есть, но планов таких пока нет. Идея еще не вызрела, да и достаточно времени пока не предвидится.
Re[16]: COMBridge DEMO
От: araud  
Дата: 27.05.09 06:19
Оценка:
Здравствуйте, SPeller, Вы писали:

SP>1. Моей задаче полтора месяца от ее постановки, через 3 дня поисков в гугле я знал всё то, что описано в статье, хотя на начало поисков я не знал вообще ничего ни про маршалинг, ни про прокси-стабы. Еще за месяц я реализовал полноценный клиент-сервер дком. До завершенного продукта ему еще предстоит пройти долгий путь, но уже сейчас он работоспособен. Фактически — это своя реализация дком, выдергивающая из системы функционал стандартного маршалинга. Правда, есть свои ограничения. Как оказалось, не маловажные, но решаемые.


Интересно какие ограничения? У нас можно любой проект пересадить на ComBridge за 5 мин, не меня только 1 строчку кода на клиенте и добавляя 1 на сервере. т.е. под ComBridge не надо писать специальный код. Наши приложениея имеют переключатель DCOM\ComBridge и даже не знают через что работают. Огромная распределенная система.

SP>2. Да, выкладывать годы работы не целесообразно. Но, как я уже писал выше — нужно сделать для статьи работоспособный пример реализации, который имел бы сильные играничения и упрощения в функционале, но показывал суть метода, которым достигнуто удаленное взаимодействие. Только тогда от статьи будет польза для общественности.


Пример работы с нашей либой дан. А для того собрать работоспособный пример from scratch надо написать еще код передающей(например сокетной) подсистемы. Ты какой пример имел ввиду?

SP>Со временем я, возможно, тоже напишу статью по изложенным выше принципам, идея такая есть, но планов таких пока нет. Идея еще не вызрела, да и достаточно времени пока не предвидится.


А времени эта штука у тебя съест немеряно.
Re[17]: COMBridge DEMO
От: SPeller  
Дата: 27.05.09 22:13
Оценка:
A>Интересно какие ограничения? У нас можно любой проект пересадить на ComBridge за 5 мин, не меня только 1 строчку кода на клиенте и добавляя 1 на сервере. т.е. под ComBridge не надо писать специальный код. Наши приложениея имеют переключатель DCOM\ComBridge и даже не знают через что работают. Огромная распределенная система.

У нас готовой системы нет, поэтому можно варьировать. Одним из принципов была независимость от реестра. Использую перехват API функций, который нужно сделать до инициализации COM-RPC runtime, который запоминает адреса оригинальных функций и после этого момента перехватить то что надо не удастся. Если только не использовать правку первых байт оригинальной функции, но от этого я решил отказаться.

Кроме того, моя система одновременно работает как со стандартным DCOM, так и со своим. А ваша?

A>Пример работы с нашей либой дан. А для того собрать работоспособный пример from scratch надо написать еще код передающей(например сокетной) подсистемы. Ты какой пример имел ввиду?


И это тоже. Возможно, я мыслю дельфийскими критериями, по которым можно за 20 минут накидать простой клиент-сервер на TServerSocket и TClientSocket, не знаю сколько времени занимает такая задача на сях. Больше всего же важно как заставить маршалить интерфейсы. Циферки-буковки бегают без проблем. Так же, есть проблема вложенных вызовов, когда клиент вызывает метод сервера, а тот делает вызов клиента.

A>А времени эта штука у тебя съест немеряно.


Не сомневаюсь. Поэтому и не собираюсь за это хвататься сейчас.
Re[18]: COMBridge DEMO
От: araud  
Дата: 28.05.09 05:52
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Интересно какие ограничения? У нас можно любой проект пересадить на ComBridge за 5 мин, не меня только 1 строчку кода на клиенте и добавляя 1 на сервере. т.е. под ComBridge не надо писать специальный код. Наши приложениея имеют переключатель DCOM\ComBridge и даже не знают через что работают. Огромная распределенная система.


SP>У нас готовой системы нет, поэтому можно варьировать. Одним из принципов была независимость от реестра. Использую перехват API функций, который нужно сделать до инициализации COM-RPC runtime, который запоминает адреса оригинальных функций и после этого момента перехватить то что надо не удастся. Если только не использовать правку первых байт оригинальной функции, но от этого я решил отказаться.


SP>Кроме того, моя система одновременно работает как со стандартным DCOM, так и со своим. А ваша?

Читай выше

A>>Пример работы с нашей либой дан. А для того собрать работоспособный пример from scratch надо написать еще код передающей(например сокетной) подсистемы. Ты какой пример имел ввиду?


SP>И это тоже. Возможно, я мыслю дельфийскими критериями, по которым можно за 20 минут накидать простой клиент-сервер на TServerSocket и TClientSocket, не знаю сколько времени занимает такая задача на сях. Больше всего же важно как заставить маршалить интерфейсы. Циферки-буковки бегают без проблем. Так же, есть проблема вложенных вызовов, когда клиент вызывает метод сервера, а тот делает вызов клиента.


A>>А времени эта штука у тебя съест немеряно.


SP>Не сомневаюсь. Поэтому и не собираюсь за это хвататься сейчас.


Если ты на делфи, читай про интерсепторы. У нас задача сложнее — надо все интерфейсы чтобы работали, а не только OLE.
Я в статье сделал простенький пример, он правда не передает данные далеко, просто показывает что вклинится реально.
Re: COMBridge DEMO
От: Figaro Россия  
Дата: 28.05.09 06:02
Оценка:
а 500 убитых президентов немного ли?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: COMBridge DEMO
От: SPeller  
Дата: 28.05.09 06:06
Оценка:
A>Если ты на делфи, читай про интерсепторы. У нас задача сложнее — надо все интерфейсы чтобы работали, а не только OLE.
A>Я в статье сделал простенький пример, он правда не передает данные далеко, просто показывает что вклинится реально.

Дык у нас тоже все будут работать. И то что в системе зарегано, и своё, лишь бы typelib был доступен. Система сама прокси-стабы нам изготовит для маршалинга. А вот как и где ловить этот момент для пересылки — тут уже другой разговор. Здесь-то и интереснее всего.
Re[2]: COMBridge DEMO
От: Unhandled_Exception Россия  
Дата: 28.05.09 18:37
Оценка:
Здравствуйте, Figaro, Вы писали:

F>а 500 убитых президентов немного ли?


на мой вгляд, дешево
Re[17]: COMBridge DEMO
От: SPeller  
Дата: 29.05.09 05:54
Оценка:
A>Наши приложениея имеют переключатель DCOM\ComBridge и даже не знают через что работают

Я имел ввиду можно ли с вашим переключателем работать в одном процессе одновременно со стандартным DCOM и ComBridge?
Re[2]: COMBridge DEMO
От: Аноним  
Дата: 30.05.09 03:27
Оценка:
Здравствуйте, Figaro, Вы писали:

F>а 500 убитых президентов немного ли?


Лет 5 назад я занимался этим-же, многое было сделано, но потом забросил в виду слишком сомнительных коммерческих перспектив. Не думаю, что ситуация с тех пор в этом плане улучшилась Хотя кто знает, если всерьёз займутся продвижением, то может и прорвутся, так что авторам можно только пожелать удачи
Re[18]: COMBridge DEMO
От: araud  
Дата: 30.05.09 06:18
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Наши приложениея имеют переключатель DCOM\ComBridge и даже не знают через что работают


SP>Я имел ввиду можно ли с вашим переключателем работать в одном процессе одновременно со стандартным DCOM и ComBridge?


Да, конечно, только интерфейсы полученные прямо или косвено из ComBridge работают через него.
т.е. если создаешь объект через ComBridge то все его интерфейсы и все что из него можно получить будет на канале ComBridge с тем компом откуда получили первый объект. И при этом можно из одного процесса с любым количеством компов по ComBridge связаться. И DCOM обычный и COM можно использовать. Т.е. сядешь на тот канал на котором создал первый объект. Создал на DCOM -на нем и будешь.
Re[20]: COMBridge DEMO
От: araud  
Дата: 30.05.09 06:20
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Если ты на делфи, читай про интерсепторы. У нас задача сложнее — надо все интерфейсы чтобы работали, а не только OLE.

A>>Я в статье сделал простенький пример, он правда не передает данные далеко, просто показывает что вклинится реально.

SP>Дык у нас тоже все будут работать. И то что в системе зарегано, и своё, лишь бы typelib был доступен. Система сама прокси-стабы нам изготовит для маршалинга. А вот как и где ловить этот момент для пересылки — тут уже другой разговор. Здесь-то и интереснее всего.


я говорю, посмтори статью про интерцепторы тут на rsdn. Там уже все сделано что необходимо для Delphi.
Но вообще конечно мне не понтно желание работать с Delphi когда есть шарп. А в дотнете решена поблема транспортов.
Re[2]: COMBridge DEMO
От: araud  
Дата: 30.05.09 06:26
Оценка:
Здравствуйте, Figaro, Вы писали:

F>а 500 убитых президентов немного ли?

Давай рассуждать так: что для Вашей конторы выгоднее, содерджать программера довольно высокого уровня несколько лет, пока он изучает все плохо документированные особенности DCOM и потом еще долго собирает все знания в соложнейший проукт, или отдать за готовое, прошедшее суровое тестирование решение всего половину его месячной зарплаты?
Re[3]: COMBridge DEMO
От: araud  
Дата: 30.05.09 06:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Figaro, Вы писали:


F>>а 500 убитых президентов немного ли?


А>Лет 5 назад я занимался этим-же, многое было сделано, но потом забросил в виду слишком сомнительных коммерческих перспектив. Не думаю, что ситуация с тех пор в этом плане улучшилась Хотя кто знает, если всерьёз займутся продвижением, то может и прорвутся, так что авторам можно только пожелать удачи


спасибо!!! Действительно, раскрутка — дело сложное.
Re[3]: COMBridge DEMO
От: araud  
Дата: 30.05.09 06:32
Оценка:
Здравствуйте, araud, Вы писали:

A>Здравствуйте, Figaro, Вы писали:


F>>а 500 убитых президентов немного ли?

A>Давай рассуждать так: что для Вашей конторы выгоднее, содерджать программера довольно высокого уровня несколько лет, пока он изучает все плохо документированные особенности DCOM и потом еще долго собирает все знания в соложнейший проукт, или отдать за готовое, прошедшее суровое тестирование решение всего половину его месячной зарплаты?

К тому же вывести проект из локальной сети в интернет за 500$ и 1 час работы, да еще параллельно избавившись от проблем с настройками безопасности, да еще ускорив сетевой обмен данными, помоему, вполне заманчиво. Я думаю, когда пойдут продажи, мы еще повысим цену.
Re[4]: COMBridge DEMO
От: Figaro Россия  
Дата: 30.05.09 08:01
Оценка:
Выы принципе правы, но видимо у меня еще советско-российский менталитет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: COMBridge DEMO
От: araud  
Дата: 30.05.09 13:20
Оценка:
Здравствуйте, Figaro, Вы писали:

F>Выы принципе правы, но видимо у меня еще советско-российский менталитет

Да я прекрасно Вас понимаю. Мы написали сами кучу всего того, что можно было просто купить для наших проектов
Это зависит от политики фирмы. Кстати, потестите демку, оцените — может пригодится в Ваших проектах?
Re[6]: COMBridge DEMO
От: Figaro Россия  
Дата: 30.05.09 20:48
Оценка:
А почему ограничение на один порт per process?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: COMBridge DEMO
От: araud  
Дата: 31.05.09 09:08
Оценка:
Здравствуйте, Figaro, Вы писали:

F>А почему ограничение на один порт per process?

На сервере. На клиенте можно поключатся к любому количеству серверов.
На сервере я не вижу смысла открывать несколько портов делающих одно и тоже. Нужно будет в файрволы по несколько потров прописывать, а реальной выгоды я не вижу.
Если Вы сможете привести пример, как может пригодится несколько портов у сервера, я сделаю несколько
На деле, там у нас один из компонентов — полноценный вебсервер, открыть на нем еще порт дело не хитрое. Просто пока незачем
Re[8]: COMBridge DEMO
От: Figaro Россия  
Дата: 31.05.09 09:25
Оценка:
хм.. пример навскидку: по разным портам — различная локализация
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: COMBridge DEMO
От: araud  
Дата: 31.05.09 17:26
Оценка:
Здравствуйте, Figaro, Вы писали:

F>хм.. пример навскидку: по разным портам — различная локализация


Какую локализацию ты имеешь ввиду? Разные языки для UI?
Re[21]: COMBridge DEMO
От: SPeller  
Дата: 31.05.09 23:42
Оценка:
A>я говорю, посмтори статью про интерцепторы тут на rsdn. Там уже все сделано что необходимо для Delphi.
A>Но вообще конечно мне не понтно желание работать с Delphi когда есть шарп. А в дотнете решена поблема транспортов.

Что-то я не нашел ничего с дельфийскими примерами. Видел только статью про интерсептор в первой части про перехват методов COM интерфейсов, но там всё тот же си. Да и вообще, какая разница на чем писать? У каждого языка есть свои плюсы. У нас задействованы плюсы дельфей. Тем более, что 2009-я стала достаточно вкусной. Кроме того, против дотнета у нас есть свои моменты. Да и свой транспорт можно будет расширить и общаться хоть по почте, добавлять любое шифрование. Я не стал завязываться на TCP и сделал основу расширяемой. Можно пайпы задействовать для общения внутри компа, можно вообще прямые вызовы делать если в одном процессе клиент и сервер. Да, это всё смахивает на то, что уже реализовано в COM, но я делаю упор на то, что приложение не зависит от регистраций компонент в реестре. Запустил — заработало, не ругается что "интерфейс не зарегистрирован". Это во-первых, а во-вторых, у юзера не всегда могут быть права на запись в реестр. И вообще, я противник загаживания реестра

A>если создаешь объект через ComBridge то все его интерфейсы и все что из него можно получить будет на канале ComBridge с тем компом

A>откуда получили первый объект

У меня так же ) Можно создавать сколько угодно серверов и клиентских соединений. Где объект создался, там и будет висеть связь с ним.

Еще вопрос — у вас потоковые модели поддерживаются все?
Re[3]: COMBridge DEMO
От: SPeller  
Дата: 01.06.09 00:03
Оценка:
A>несколько лет, пока он изучает все плохо документированные особенности DCOM

Как показал опыт — не обязательно тратить несколько лет на это
Re[10]: COMBridge DEMO
От: Figaro Россия  
Дата: 01.06.09 05:02
Оценка:
Если вспомнить классику, то старый любимый POP3... Порты на память не помню, но для KOI8-R и CP1251 они различались.
Хотя это все некритично, но не люблю ограничений Сегодня-завтра гляну, демку скачал...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: COMBridge DEMO
От: araud  
Дата: 01.06.09 10:15
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>я говорю, посмтори статью про интерцепторы тут на rsdn. Там уже все сделано что необходимо для Delphi.

A>>Но вообще конечно мне не понтно желание работать с Delphi когда есть шарп. А в дотнете решена поблема транспортов.

SP>Что-то я не нашел ничего с дельфийскими примерами. Видел только статью про интерсептор в первой части про перехват методов COM интерфейсов, но там всё тот же си. Да и вообще, какая разница на чем писать? У каждого языка есть свои плюсы. У нас задействованы плюсы дельфей. Тем более, что 2009-я стала достаточно вкусной. Кроме того, против дотнета у нас есть свои моменты. Да и свой транспорт можно будет расширить и общаться хоть по почте, добавлять любое шифрование. Я не стал завязываться на TCP и сделал основу расширяемой. Можно пайпы задействовать для общения внутри компа, можно вообще прямые вызовы делать если в одном процессе клиент и сервер. Да, это всё смахивает на то, что уже реализовано в COM, но я делаю упор на то, что приложение не зависит от регистраций компонент в реестре. Запустил — заработало, не ругается что "интерфейс не зарегистрирован". Это во-первых, а во-вторых, у юзера не всегда могут быть права на запись в реестр. И вообще, я противник загаживания реестра


A>>если создаешь объект через ComBridge то все его интерфейсы и все что из него можно получить будет на канале ComBridge с тем компом

A>>откуда получили первый объект

SP>У меня так же ) Можно создавать сколько угодно серверов и клиентских соединений. Где объект создался, там и будет висеть связь с ним.


SP>Еще вопрос — у вас потоковые модели поддерживаются все?

Да, но основное тестирование было на малтитредет.
Re[11]: COMBridge DEMO
От: araud  
Дата: 01.06.09 10:18
Оценка:
Здравствуйте, Figaro, Вы писали:

F>Если вспомнить классику, то старый любимый POP3... Порты на память не помню, но для KOI8-R и CP1251 они различались.

F>Хотя это все некритично, но не люблю ограничений Сегодня-завтра гляну, демку скачал...

Я не понимаю, как локализация связана с портами
Re[12]: COMBridge DEMO
От: Figaro Россия  
Дата: 01.06.09 10:59
Оценка:
Да POP3 отдавал письма в кодировке зависящей от порта... Но это уже ностальгия
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: COMBridge DEMO
От: araud  
Дата: 01.06.09 16:40
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>несколько лет, пока он изучает все плохо документированные особенности DCOM


SP>Как показал опыт — не обязательно тратить несколько лет на это

Я думаю, задача поддержать только ole совместимые интерфейсы действительно не сложна.
А вот ВСЕ случаи DCOM-а это уже посложнее. Одни асинхронные вызовы чего стоят. Да еще добится чтобы эта схема была оптимальна с точки зрения трафика и скорости вызова. Сделать чтобы все это не блокировалось при хаотическом использовании не менее чем 900 интерфесов одновременно. Еще очень много всяких тонкостей, многие из которых не документированы вообще, но если их не реализовать, то будет очень странно глючить.
Re[5]: COMBridge DEMO
От: SPeller  
Дата: 02.06.09 01:37
Оценка:
A>Я думаю, задача поддержать только ole совместимые интерфейсы действительно не сложна.
A>А вот ВСЕ случаи DCOM-а это уже посложнее. Одни асинхронные вызовы чего стоят. Да еще добится чтобы эта схема была оптимальна с точки зрения трафика и скорости вызова. Сделать чтобы все это не блокировалось при хаотическом использовании не менее чем 900 интерфесов одновременно. Еще очень много всяких тонкостей, многие из которых не документированы вообще, но если их не реализовать, то будет очень странно глючить.

У меня небыло цели держать только OLE, хотя использую пока только OLE-совместимые интерфейсы. Но разве есть разница если прокси-стабы я создаю через CreateXXXXFromTypeInfo? Мне совершенно фиолетово что и как передается в параметрах, маршалингом всего этого добра занимается система. Интерфейсы в параметрах я тоже не руками вытаскиваю, а предоставляю эту заботу системе, я только отдаю ей свои данные для записи в пакет, который пойдет на другую сторону. Асинхронные вызовы... На дельфе это сделать так, как делает студия, не получится, поэтому на этом не заостряюсь, но моя система позволяет делать асинхронные запросы серверу без ожидания ответа. Можно сделать, например, чтобы функции, чье имя начинается на Async, вызывались асинхронно. Замаскироваться и действовать как система вряд ли получится, но создавать код, изначально рассчитанный на такую работу — можно. Про асинхронные вызовы читал, суть работы представляю, реализовать можно. Понадобится — можно и broadcast сделать. Вобщем, направления у нас с вами разные, конкурентами если и будем, то не сильно
Re[6]: COMBridge DEMO
От: araud  
Дата: 02.06.09 09:00
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>Я думаю, задача поддержать только ole совместимые интерфейсы действительно не сложна.

A>>А вот ВСЕ случаи DCOM-а это уже посложнее. Одни асинхронные вызовы чего стоят. Да еще добится чтобы эта схема была оптимальна с точки зрения трафика и скорости вызова. Сделать чтобы все это не блокировалось при хаотическом использовании не менее чем 900 интерфесов одновременно. Еще очень много всяких тонкостей, многие из которых не документированы вообще, но если их не реализовать, то будет очень странно глючить.

SP>У меня небыло цели держать только OLE, хотя использую пока только OLE-совместимые интерфейсы. Но разве есть разница если прокси-стабы я создаю через CreateXXXXFromTypeInfo? Мне совершенно фиолетово что и как передается в параметрах, маршалингом всего этого добра занимается система. Интерфейсы в параметрах я тоже не руками вытаскиваю, а предоставляю эту заботу системе, я только отдаю ей свои данные для записи в пакет, который пойдет на другую сторону. Асинхронные вызовы... На дельфе это сделать так, как делает студия, не получится, поэтому на этом не заостряюсь, но моя система позволяет делать асинхронные запросы серверу без ожидания ответа. Можно сделать, например, чтобы функции, чье имя начинается на Async, вызывались асинхронно. Замаскироваться и действовать как система вряд ли получится, но создавать код, изначально рассчитанный на такую работу — можно. Про асинхронные вызовы читал, суть работы представляю, реализовать можно. Понадобится — можно и broadcast сделать. Вобщем, направления у нас с вами разные, конкурентами если и будем, то не сильно


CreateXXXXFromTypeInfo требует наличия TypeInfo
И можно ли пересадить на Ваш транспорт ЛЮБОЙ поект, не изменяя код, кроме кода установки соединения с сервером?
Re[7]: COMBridge DEMO
От: SPeller  
Дата: 03.06.09 00:06
Оценка:
A>CreateXXXXFromTypeInfo требует наличия TypeInfo
A>И можно ли пересадить на Ваш транспорт ЛЮБОЙ поект, не изменяя код, кроме кода установки соединения с сервером?

Чтобы получить TypeInfo нужна Typelib, которая нужна и стандартному DCOM-у, без этого компонента никто не сможет работать, бо иных стандартных средств описания интерфейсов, функций и параметров нет.

На мой транспорт ЛЮБОЙ проект без доработок не пересадишь, потому что мой транспорт ничего не берет из реестра со всеми вытекающими. Мой транспорт заменяет собой DCOM, а не встраивается в существующий, потому и полностью совместимым он быть не может.
Re[8]: COMBridge DEMO
От: araud  
Дата: 03.06.09 11:28
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>CreateXXXXFromTypeInfo требует наличия TypeInfo

A>>И можно ли пересадить на Ваш транспорт ЛЮБОЙ поект, не изменяя код, кроме кода установки соединения с сервером?

SP>Чтобы получить TypeInfo нужна Typelib, которая нужна и стандартному DCOM-у, без этого компонента никто не сможет работать, бо иных стандартных средств описания интерфейсов, функций и параметров нет.


-- да ты чо, либо я чего то незнал, либо ты Библиотека типов не нужна не оле совместимым интерфейсам. Я вырубаю генерацию библиотеки типов во всех своих проектах и нет никаких проблем. Библиотека типов нужна только для динамического связывания.

SP>На мой транспорт ЛЮБОЙ проект без доработок не пересадишь, потому что мой транспорт ничего не берет из реестра со всеми вытекающими. Мой транспорт заменяет собой DCOM, а не встраивается в существующий, потому и полностью совместимым он быть не может.

--Ясно, оттого и сложность нашего проекта, что он ведет себя полностью как DCOM, со всеми тонкостями.
Re[9]: COMBridge DEMO
От: SPeller  
Дата: 04.06.09 01:32
Оценка:
A>-- да ты чо, либо я чего то незнал, либо ты Библиотека типов не нужна не оле совместимым интерфейсам. Я вырубаю генерацию библиотеки типов во всех своих проектах и нет никаких проблем. Библиотека типов нужна только для динамического связывания.

Ты забыл что дельфя не генерит прокси-стабы как это делает студия. У вас прокси-стабы статические, а в дельфе такие стабы либо писать руками, либо генерить динамически на основе библиотеки типов. Ку?
Re[10]: COMBridge DEMO
От: araud  
Дата: 04.06.09 04:47
Оценка:
Здравствуйте, SPeller, Вы писали:

A>>-- да ты чо, либо я чего то незнал, либо ты Библиотека типов не нужна не оле совместимым интерфейсам. Я вырубаю генерацию библиотеки типов во всех своих проектах и нет никаких проблем. Библиотека типов нужна только для динамического связывания.


SP>Ты забыл что дельфя не генерит прокси-стабы как это делает студия. У вас прокси-стабы статические, а в дельфе такие стабы либо писать руками, либо генерить динамически на основе библиотеки типов. Ку?


Действительно забыл . Я на делфе в последний раз что-то делал лет 6 назад
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.