Avatar billede tak Nybegynder
06. november 2003 - 13:57 Der er 7 kommentarer og
1 løsning

Klient - Server overførsel af objekter

Jeg arbejder med en server og en klient, der er placeret på hver sin maskine.
Hvordan overføres objekter mellem dem?

Kan man pakke et objekt ind, sende det og pakke det ud igen?

Kan man udføre metodekald over netværket på samme måde som kald til objekter i samme projekt?

Jeg vil gerne se et enkelt eksempel hvis det er muligt.

/Torben
Avatar billede odegaard Nybegynder
06. november 2003 - 14:43 #1
Metodekald over netværket gøres med Webservices.

Her er et simpelt eksempel på en webservice der ligger to tal sammen:
<%@ WebService Language="VB" Class="Calculator" %>

Imports System.Web.Services
<WebService(Name:="Calculator", Description:="Adds two numbers", Namespace:="http://www.iter.dk/webservices/calculator.asmx")> _
Public Class Calculator : Inherits WebService

    <WebMethod(Description:="Adds two numbers")> Public Function Add(intA As Integer, intB As Integer) As Integer
        Add = intA + intB 'intB
    End Function
End Class
Avatar billede tak Nybegynder
06. november 2003 - 14:50 #2
Det tror jeg desværre ikke jeg kan bruge!

Jeg har nogle klasser som jeg har nogle instanser af. Disse objekter indeholder nogle værdier og functions som gerne skulle overføres via netværket til serveren. Det er objekter som jeg selv har lavet.

Jeg vil helst have fat i objektet så jeg kan arbejde videre med det på serveren.

Dim klientobjekt as EgenKlasse
klientobjekt=??? objektet fra klienten overført via netværket.

klienobjekt.toString()

osv...

Jeg vil allerhelst uden om en webservice, da maskinen ikke skal kører IIS.

/Torben
Avatar billede odegaard Nybegynder
06. november 2003 - 14:58 #3
Du kan sagtens bruge dine egne objekter. Men uden IIS så er du nok lidt på den.
Avatar billede guidmaster Nybegynder
06. november 2003 - 20:49 #4
Jeg har desværre ikke lige et eksempel her hvor jeg sidder nu, men det skal kigge efter er remoting ;)
Avatar billede odegaard Nybegynder
06. november 2003 - 21:13 #5
I bund og grund er der blev blot tale om RPC (Remote Procedure Calls), som ganske rigtigt kan gøres via Remoting. En hurtig googling gav bla.
http://www.c-sharpcorner.com/Code/2003/Feb/XmlRPC.asp
http://xml-rpc.net/
Avatar billede tak Nybegynder
07. november 2003 - 07:47 #6
Quidmaster, det er et rigtig godt udgangspunkt med remoting, lige et stikord jeg kunne bruge til noget.

odegaard, jeg vil helst ikke over i noget XML og Web.

Jeg sidder og arbejder lidt udfra denne side.

http://msdn.microsoft.com/library/en-us/dnadvnet/html/vbnet11272001.asp?frame=true

Her er jeg fri for webkald også http kald.

Jeg vender tilbage senere, når jeg ved hvordan det er gået med at bruge det fra artiklen.

/Torben
Avatar billede odegaard Nybegynder
07. november 2003 - 08:33 #7
Jeg taler heller ikke om web, men nu findes der er fin åben standard til RPC, som benytter XML til udveksling af data (Dette kunne jo ligeså godt være en kommasepareret fil). Om man benytter port 80 til http kald eller ej er for så vidt ligegyldigt.

Der er kun fordele ved at man følger de åbne (og gennemtænkte) standarder. XML-RPC er endda en af de temmelig simple at bruge (specifikationen fylder kun 7 sider).
http://www.xmlrpc.com/spec
Avatar billede tak Nybegynder
12. november 2003 - 08:29 #8
Ved hjælp af ovennævnte artikkel har jeg løst problemet.
Det kan lade sig gøre at kalde metoder på tværs af systemer uden at tænke på deres øjeblikkelige fysiske placering.

Der er et par småfejl i koden men det skulle være til at løse, det ene eksempel er et manglende End Class.

Hvis der er nogen som sidder med problemer med det, så spørg løs, så vil jeg forsøge at hjælpe!

guidmaster tak for hintet med "remoting"!

Jeg tillader mig at lukke spørgsmålet!

/Torben
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester