Avatar billede thomas_n Nybegynder
22. marts 2012 - 23:54 Der er 6 kommentarer og
1 løsning

Client/Server applikation udveksling af data

Hej eksperter,

Jeg arbejder på en klient/server applikation hvor klienten kan spørge serveren efter data via XML (har jeg forestillet mig) over ip.

Når serveren modtager en request fra klienten har jeg brug for at identificere hvad der bliver spurgt efter i XML strengen.

Hvis klient applikationen eksempelvis spørger server applikationen efter en fra og til værdi, så har jeg forestillet mig at sende disse to værdier til server applikationen, som fra en SQL Server henter disse data og sender dem til klient applikationen.

Kan jeg på en eller anden måde identificere klientens forespørgel ved at sætte et "navn" på den, sammen med de to værdier jeg spørger efter, så jeg ved at når forespørgelsen med navnet f.eks. TOPLISTE ankommer, så ved jeg at denne forespørgsel kræver to variabler som XML strengen indeholder?


Venlig hilsen
Thomas
Avatar billede arne_v Ekspert
23. marts 2012 - 01:27 #1
Du kan jo sende hvad du vil.

<request>
<function>TOPLIST</function>
<parameters>
<from>1</from>
<to>2</to>
</parameters>
</request>
Avatar billede thomas_n Nybegynder
23. marts 2012 - 10:37 #2
Tak for svar Arne,

Det var også sådan jeg har tænkt den del af det, men det er mere fortolkningen af XML strengen, hvor værdierne efterfølgende skal bruges i en SQL query.

Jeg regner med at server applikationen skal håndtere op til 150 forskellige forespørgelser.

Så jeg kunne godt bruge noget hjælp til en rutine, der fortolker XML strengen.

Vh.
Thomas
Avatar billede arne_v Ekspert
23. marts 2012 - 14:02 #3
Med et format som ovenfor saa hiver du foerst function og parameters noderne ud, saa laver du en switch paa function og traekker de specifikke data ud af parameters.

Jeg kan godt lave et lille kode eksempel.
Avatar billede thomas_n Nybegynder
23. marts 2012 - 19:26 #4
Hvis du har mulighed og tid, så kunne det være rart med et eksempel :)
Avatar billede arne_v Ekspert
23. marts 2012 - 20:55 #5
Imports System
Imports System.Xml

Namespace E
    Public Class Program
        Public Shared Sub TopList(fromp As Integer, top As Integer)
            Console.WriteLine("TopList " & fromp & " " & top)
        End Sub
        Public Shared Sub Echo(val As String)
            Console.WriteLine("Echo " & val)
        End Sub
        Public Shared Sub Process(xml As String)
            Dim doc As New XmlDocument()
            doc.LoadXml(xml)
            Dim func As String = doc.SelectSingleNode("/request/function/text()").Value
            Dim n As XmlNode = doc.SelectSingleNode("/request/parameters")
            Select Case func
                Case "TOPLIST"
                    Dim fromp As Integer = Integer.Parse(n.SelectSingleNode("from/text()").Value)
                    Dim top As Integer = Integer.Parse(n.SelectSingleNode("to/text()").Value)
                    TopList(fromp, top)
                    Exit Select
                Case "ECHO"
                    Dim val As String = n.SelectSingleNode("val/text()").Value
                    Echo(val)
                    Exit Select
                Case Else
                    Throw New Exception("Unknown function")
            End Select
        End Sub
        Public Shared Sub Main(args As String())
            Dim s1 As String = "<request><function>TOPLIST</function><parameters><from>1</from><to>2</to></parameters></request>"
            Dim s2 As String = "<request><function>ECHO</function><parameters><val>ABC</val></parameters></request>"
            Process(s1)
            Process(s2)
            Console.ReadKey()
        End Sub
    End Class
End Namespace
Avatar billede thomas_n Nybegynder
24. marts 2012 - 00:15 #6
Det var lige det jeg skulle bruge, tusind tak for hjælpen :)

Sender du et svar.
Avatar billede arne_v Ekspert
24. marts 2012 - 00:51 #7
svar
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



Seneste spørgsmål Seneste aktivitet
I dag 14:04 Pixeline cd’er til PC Af Mathilde i Windows
I dag 01:14 Windows 10 - IIS 10 Af bsn i Windows
I går 20:39 Boot fra USB Af poulmadsen i Windows
I går 11:43 Gmail-ikon på skrivebordet Win 10 Af ErikHg i Fri debat
I går 09:22 Lopslag Af Luffe i Excel