Page 1 of 2 1 2 LastLast
Results 1 to 15 of 18

Thread: Image van server naar client

  1. #1

    Question Image van server naar client

    Ik bereid een grafiek voor op de server met alle gegevens die de client nodig heeft en dan wil ik die afbeelding doorgeven naar de client. De server is windows forms en de client is een ASP pagina, dit alles in Delphi 2005.NET. Vraag is natuurlijk hoe krijg ik die afbeelding bij de client?

    Ik was eerst aan het denken om via blob de afbeelding in een dataset te stoppen en zo door te geven maar ik weet niet hoe ik een dataset kan doorgeven naar de client.
    Misschien is er ook een andere betere manier om dit op te lossen?

  2. #2
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Door te streamen?
    All methodologies are based on fear. -- Kent Beck.

  3. #3
    streamen is een mogelijke oplossing maar hoe krijg ik deze stream dan op de client applicatie?

    Ik ben nog vrij nieuw in delphi dus sorry als ik wat veel vragen stel...

  4. #4
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Vanuit je WinForm applicatie, ofwel met
    1) HttpWebRequest en .Method = "POST"
    2) WebClient en .UploadData
    Ik heb beiden met succes toegepast op (classic) ASP, alleen nooit met images. Ik vermoed echter dat dat moet kunnen door in ASP dan weer gewoon naar de browser te streamen.

    Wat me niet duidelijk is: is die ASP classic, of ASP.NET?
    All methodologies are based on fear. -- Kent Beck.

  5. #5
    Het grote verschil tss classis en .NET is dat de .Net componenten gebruikt worden en die van de classic asp worden vervangen. Met als grote voordeel dat eenmaal je .Net kent je in andere programmeertalen makkelijker je weg vindt maar waarschijnlijk ook daarom dat ik httpwebrequest en webclient niet vind...
    Ik heb wel een remoteclient en remoteserver object maar hiermee kan ik alleen een dataadapter mee doorgeven via een datasync maar ik kan hiermee geen functies aanroepen of dergelijke

  6. #6
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    1) Euh..., een communicatiestoornis?
    Ik weet wat het verschil is tussen ASP en ASP.NET. Mijn vraag is: je 'client' is die ASP of ASP.NET.

    2) HttpWebRequest, HttpWebResponse en WebClient bevinden zich in namespace System.Net

    3) datasync, remoteclient, remoteserver zeggen mij niks. Ik vermoed dat dit te maken heeft met Borland DataHub en consoorten. Ik gebruik dat niet, wel remoting, maar dus niet de .NET versie van DataSnap (wat die DataHub dus blijkbaar moet voorstellen). Maar ik zie ook niet wat dat te maken heeft met je probleem?

    4) Ik vind het trouwens vreemd dat je 'Server' een WinForm assembly (.exe) is.
    All methodologies are based on fear. -- Kent Beck.

  7. #7
    1) mijn client is ASP.NET

    2) gevonden en aan het kijken hoe dit nu juist werkt

    3) inderdaad componenten van borland en ik was gewoon in die richting aan het denken omdat mijn vorige project in server client model op met remote server en connection werkte voor het doorgeven van de gegevens

    4) Wat raad je mij dan aan om te gebruiken als server?

  8. #8
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Maak er een class library van. Voeg een reference toe aan je ASP.NET project en je hebt toch wat je wil. Tonen van je grafiek kan dan op ongeveer dezelfde manier als in de link in de eerste post.
    M.a.w. draai de rollen server/client (terug) om. Dat is dan trouwens de 'normale' situatie: browser navigeert naar een URI, ASP.NET maakt grafiek en streamt die naar de browser.
    Tenzij je om één of andere reden een totaal andere opzet nodig hebt (maar dat blijkt niet duidelijk uit de info die je gegeven hebt).
    All methodologies are based on fear. -- Kent Beck.

  9. #9
    mja in principe zou ik rechtstreeks de grafiek kunnen maken op de asp pagina maar ik (en mijn opdrachtgever) wil een server waar de connectie met de databank wordt gemaakt en de grafiek wordt gemaakt, deze grafiek wordt als een image/stream doorgegeven naar de ASP pagina. Dit gewoon omwille van security.

    Het simpelste zou zijn om de grafiek op de ASP.NET pagina aan te maken maar het is de bedoeling dat deze op de server applicatie wordt aangemaakt.

  10. #10
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Quote Originally Posted by Jahwe
    Het simpelste zou zijn om de grafiek op de ASP.NET pagina aan te maken maar het is de bedoeling dat deze op de server applicatie wordt aangemaakt.
    Nou, dat wijzigt toch niets. De ASP.NET pagina vraagt dan gewoon de image en krijgt die terug van je server applicatie. Het is toch niet je server applicatie die de actie initialiseert.
    Al snap ik niet hoe/waarom deze oplossing meer 'secure' zou zijn.

    Als je het toch wil: creëer een MBR/MBV SAO/CAO remote object. Je kan een geregistreed RO hosten in een console app, winform app, IIS of in een windows service.
    All methodologies are based on fear. -- Kent Beck.

  11. #11
    Quote Originally Posted by Dirk Andries
    creëer een MBR/MBV SAO/CAO remote object
    op zen lichtst uitgedrukt ben ik niet echt mee, zou je wat meer info kunnen geven?

  12. #12
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Ingo Rammer!
    Hoe doe je het nu trouwens?
    All methodologies are based on fear. -- Kent Beck.

  13. #13
    Na heel wat zoeken was ik eigenlijk bij deze oplossing gekomen

    Code:
    procedure TWinForm.Button1_Click(sender: TObject; e: System.EventArgs);
    var
    client: WebClient;
    request: WebRequest;
    response: WebResponse;
    temp: string;
    begin
        try
            client.DownloadFile('txtURL', 'C:\temp.png');
        except
          on exp: WebException do
            MessageBox.Show(exp.Message);
    
        end;
    end;
    Maar ik krijg volgende foutmelding

    An exception occured during a WebClient request

  14. #14
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Euh..., dat kan toch nooit lukken?

    Kunnen we overnieuw beginnen. Als ik het goed begrijp:
    1) Je hebt een ASP.NET pagina
    2) Je wil daar een grafiek in tonen die in een andere App gemaakt wordt.
    3) De reden om een afzonderlijke Server App te gebruiken is blijkbaar security (maar mij is het niet duidelijk waarom dat veiliger zou zijn):

    De mogelijkheden:
    - .NET Remoting (is eigenlijk een bijkomend veiligheidsrisico)
    - WebService (maar dan zie ik niet in waarom je dat niet rechtstreeks uit een assembly zou halen in je Web App, is trouwens op zich ook een bijkomend veiligheidsrisico).
    - Andere ASP.NET app die afgeschermd is
    - Andere dan ASP.NET Web app die afgeschermd is (Cgi, FastCgi, ISAPI dll, Apache module, ...)
    - Via de Borland DataHub en DataSync (is eigenlijk ook .NET Remoting maar dan met een dataset die je doorstuurt, denk ik, heb daar nog niet naar gekeken)
    - Via TCP of UDP
    - Enterprise Services
    - Andere IPC toestanden ...

    Dus:
    1) Heb ik het goed begrepen?
    2) Welke oplossing wil je gebruiken?
    All methodologies are based on fear. -- Kent Beck.

  15. #15
    De reden waarom ik een aparte app heb is omdat deze op een afgescherme lokatie komt te staan zodat de databank niet blootgesteld wordt

    Nu je hebt het hele verhaal wel goed begrepen maar wat ik niet begrijp is waarom die webclient downloadfile niet zou kunnen lukken.
    het lijkt mij de meest eenvoudige oplossing

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Client / Server Database van TurboPower.
    By Richard in forum Tools
    Replies: 6
    Last Post: 07-Feb-02, 01:31

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •