Конференция "Corba" » Помощь в организации Client Server DCOM [Delphi, Windows]
 
  • 312kbps (07.11.06 12:31) [0]
    Уважаемые профессионалы, прошу помощи решение моей задачи )
    На основе DCOM сделал клиента и сервер, на одной машине работает, но в сети нет, что надо сделать чтоб и в локальной сетке тоже работало ?

    Или подскажите как организовать клиент сервер в локальной сетке для обмена киких либо данных и событий ?
  • Array (07.11.06 12:34) [1]
    проверить порты
    и вообще, что значит не работает... может винда не грузиццо???
  • 312kbps (07.11.06 12:45) [2]
    Запуская клиента на удаленной машине пишет что "Класс не зарегестрирован"
    Сервер у меня на машине.

    Может я что то не сделал ?
  • Array (07.11.06 12:47) [3]
    дык... а куда клиент ломиться? в сеть или на локальную машину?

    скорее всего клиент сам у себя и ищет сервер ))) настройки клиента проверить
  • 312kbps (07.11.06 12:50) [4]
    Понятно, а где эти настройки искать в клиенте ?
  • Array (07.11.06 12:55) [5]

    > 312kbps   (07.11.06 12:50) [4]
    > Понятно, а где эти настройки искать в клиенте ?


    стоп... а кто писал сервер-клиент приложение?
  • 312kbps (07.11.06 13:12) [6]
    Server - ActiveX Library + Transactional Data Module
    Client - к проету подцепил Project1_TLB из сервера

    unit Unit2;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, MTSObj, Mtx, ComObj, Project1_TLB;

    type
     TForm2 = class(TForm)
       Edit1: TEdit;
       Edit2: TEdit;
       Button1: TButton;
       Label1: TLabel;
       procedure FormCreate(Sender: TObject);
       procedure Button1Click(Sender: TObject);
     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form2: TForm2;
     MTST: IMTSTest;
     TransactionContextEx: ITransactionContextEx;

    implementation
    //uses MTSObj, Mtx, ComObj, Project1_TLB;
    {$R *.dfm}

    procedure TForm2.FormCreate(Sender: TObject);
    begin
     TransactionContextEx:=CreateTransactionContextEx;
     OleCheck(TransactionContextEx.CreateInstance(CLASS_MTSTest,IMTSTest,MTST));
    end;

    procedure TForm2.Button1Click(Sender: TObject);
    var n: integer;
    begin
     n:=MTST.AddMumbers(StrToInt(Edit1.Text),StrToInt(Edit2.Text));
     Label1.Caption:=IntToStr(n);
    end;

    end.

    Могу исходники кинуть, если конечно надо !?
  • Array (07.11.06 13:34) [7]
    Client - к проету подцепил Project1_TLB из сервера

    я так понимаю он локальный,
    ИМХО можно выкрутиться, "забульбенив"(с) наклиенте TSocketConnection
  • 312kbps (07.11.06 13:45) [8]
    можно чутка по подробнее, а то я с этим первый раз работаю ) !?
  • Array (07.11.06 13:49) [9]
    Вот отчличный цикл статей
    http://www.delphimaster.ru/articles/automat/index.html
  • Array (07.11.06 13:55) [10]
    Сори не много не то
    http://zipsites.ru/books/sbornik_statei_po_delphi/

    обязательно скачать, так много чего харошего есть )))
  • clickmaker © (13.11.06 17:42) [11]

    > [8] 312kbps   (07.11.06 13:45)
    > можно чутка по подробнее, а то я с этим первый раз работаю
    > ) !?

    http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1108
  • Megabyte © (15.11.06 14:48) [12]
    Наверное, автор столкнулся с той же проблемой, что и я в свое время.
    Сделал как-то простенькую 3-хзвенку(изучал COM/DCOM).
    Соединение было через DCOMConnnection.
    Все нормально работает так(общий случай: клиент и сервер в разной подсети): комп1(сервер БД)-комп2(утилита для связи с сервером по TCP/IP(например, Client Network Utility),сервер приложений, тонкий клиент).

    Хочу сделать так: комп1(сервер БД)-комп2(утилита,сервер приложений)-комп3(тонкий клиент), ну или комп1(сервер БД, утилита, сервер приложений)-комп2(тонкий клиент)
    Если сервер приложений норм. свяжется с сервером БД, то тонкий клиент не "видит" сервер приложений(без каких-либо доп. действий). Вот как наладить взяимосвязь между тонким клиентом и сервером приложений, находящихся в различных подсетях(по интернету)?
  • clickmaker © (17.11.06 15:37) [13]

    > как наладить взяимосвязь между тонким клиентом и сервером
    > приложений, находящихся в различных подсетях(по интернету)?

    SocketConnection, WebConnection
  • Megabyte © (20.11.06 10:33) [14]
    Хм, а DCOMConnnection никак вообще? :(
    Жаль...
  • clickmaker © (20.11.06 16:11) [15]

    > [14] Megabyte ©   (20.11.06 10:33)
    > Хм, а DCOMConnnection никак вообще?

    протокол RPC не дружит с фаерволами. Он разрабатывался для внутридоменной организации больше, поскольку использует встроенные механизмы безопасности виндов.
    Вынести его за пределы даже одной подсетки - весьма большой геморрой
  • Megabyte © (22.11.06 14:22) [16]
    Спасибо. Будем изучать другие XXXConnection. :)
 
Конференция "Corba" » Помощь в организации Client Server DCOM [Delphi, Windows]
Есть новые Нет новых   [134431   +9][b:0][p:0.001]