Hallo,
also ich habe was Ähnliches Client-Server-mäßiges (wenn ich dich richtig verstanden habe) gebastelt. Vielleicht hilft es Dir ja.
-->Zuerst habe ich eine Webapplikation auf ASP-Basis. Da steht im Code sowas:
<%
Response.ContentType = "Application/VbIeClient"
%>
<report Projekt="<%=Request.querystring("Projekt")%>" Report="<%=Request.querystring("Report")%>" DokNr="<%=Request.querystring("DokNr")%>" DokDatum="<%=Request.querystring("DokDatum")%>" ip="<%=Request.ServerVariables("LOCAL_ADDR")%>" secure="n"/>
<%
response.end
%>
-->Das wird über den Browser aufgerufen. Auf den Rechnern mit dem Client ist ein Dateityp/Anwendung für die Application registriert.
-->Der Client (VB6, da unter Win98 laufen soll) öffnet sich.
--> Im Client arbeite ich die das XML-Kommando ab. (xmlDoc.Load(Command$))
--> Wenn der Client noch was vom Server braucht, nutze ich folgende Funktionen:
Public Function getFileFromServer(serverpath As String, FileName As String, savepath As String) As Boolean
Dim xmlHttpReq As MSXML2.XMLHTTP30
Dim fi As Long
getFileFromServer = False
On Error GoTo SendFileError
Set xmlHttpReq = New MSXML2.XMLHTTP30
xmlHttpReq.open "get", serverpath & FileName, False
xmlHttpReq.send
If xmlHttpReq.Status <> 200 Then
ErrorMessage = "Die Verbindung zum Server ist fehlgeschlagen! (Http Request POST " & xmlHttpReq.Status & ")"
Set xmlHttpReq = Nothing
Exit Function
End If
fi = FreeFile
Open savepath & "" & FileName For Output As #fi
Print #fi, xmlHttpReq.responseText
Close #fi
getFileFromServer = True
Set xmlHttpReq = Nothing
Exit Function
SendFileError:
ErrorMessage = "Die Datei konnte nicht auf dem Server gefunden werden!"
Set xmlHttpReq = Nothing
End Function
-->bzw. wenn er was an den Server senden soll:
Public Function sendXMLToServer(xmlDoc As DOMDocument30, DataxmlDoc As MSXML2.DOMDocument30) As Boolean
Dim xmlHttpReq As MSXML2.XMLHTTP30
sendXMLToServer = False
On Error GoTo SendXMLError
Set xmlHttpReq = New MSXML2.XMLHTTP30
xmlHttpReq.open "post", serverpath & "/RecieveXML.aspx", False
xmlHttpReq.setRequestHeader "Content-type", "text/xml"
xmlHttpReq.send xmlDoc.xml 'string/array to send
If xmlHttpReq.Status <> 200 Then
ErrorMessage = "Die Verbindung zum Server ist fehlgeschlagen! (Http Request POST " & xmlHttpReq.Status & ")"
Set xmlHttpReq = Nothing
Exit Function
End If
Set DataxmlDoc = New MSXML2.DOMDocument30
DataxmlDoc.async = False
'MsgBox xmlHttpReq.responseText
If DataxmlDoc.loadXML(xmlHttpReq.responseText) = False Then
ErrorMessage = "Es ist ein Fehler beim Laden der Daten aufgetreten!"
Set xmlHttpReq = Nothing
Exit Function
End If
If DataxmlDoc.documentElement.baseName = "error" Then
ErrorMessage = DataxmlDoc.documentElement.firstChild.Text
Set xmlHttpReq = Nothing
Exit Function
End If
sendXMLToServer = True
Set xmlHttpReq = Nothing
Exit Function
SendXMLError:
ErrorMessage = "Die Datei konnte nan den Server gesendet werden!"
Set xmlHttpReq = Nothing
End Function
-->Die Datei RecieveXML.aspx nimmt auf Serverseite wieder XML entgegen:
Dim commandXMLDoc As New Xml.XmlDocument
Private Sub writeError(ByVal txt As String)
Response.Write("<error><!-- " & txt & " --></error>")
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Hier Benutzercode zur Seiteninitialisierung einfügen
commandXMLDoc.LoadXml(httpInputToString(Request))
Try
getResponse()
Catch ex As Exception
writeError(ex.Message)
End Try
End Sub
Vielleicht nicht so ganz was Du machen willst, aber vielleciht hilfts ja weiter....
-LeKuchen