Hallo,
ich senden Daten vom Pocket PC zum Server per HTTP.
Code des Client:
Code des Servers:
Wenn ich nun den Client in einer Endlosschleife mit 20 sek Pause zwischen den einzelnen Durchläufen laufen lasse, empfängt der Server zwischendurch HTTP-Pakete ohne Nutzdaten, also der Form:
"POST / HTTP/1.1Content-Length: 67Connection: Keep-AliveExpect: 100-continueHost: 192.168.1.2"
Das heisst, die Content-Length wird richtig angeben, aber der Inhalt geht verloren.
Ansonsten schauen die HTTP-Pakete so aus:
"POST / HTTP/1.1Content-Length: 67Connection: Keep-AliveExpect: 100-continueHost: 192.168.1.2Time: 30.01.2005 11:51:45 PDA-ID: 1 Longitude: 235, Latitude: 847"
Was mache ich da falsch?
Gruss,
MD
ich senden Daten vom Pocket PC zum Server per HTTP.
Code des Client:
Code:
private void sendHTTP (String serverName, int serverPort, String data)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://" + serverName + ":" + serverPort);
req.Method = "POST";
req.AllowWriteStreamBuffering = true;
Stream reqStream = req.GetRequestStream();
StreamWriter wrtr = new StreamWriter(reqStream);
wrtr.WriteLine(data);
wrtr.Close();
reqStream.Close();
req.GetResponse().Close();
}
Code des Servers:
Code:
TcpClient tcpClient;
tcpClient = threadListener.AcceptTcpClient();
StreamReader reader = new StreamReader(tcpClient.GetStream(),System.Text.Encoding.UTF8);
StreamWriter writer = new StreamWriter(tcpClient.GetStream());
string data = "";
while (reader.Peek() != -1)
{
string line = reader.ReadLine();
data += line;
}
// Hier findet die Verarbeitung von data statt.
// HTTP-Response erstellen (verwendet minimalen Header)
string buffer = "";
buffer = buffer + "HTTP/1.1 200\r\n";
buffer = buffer + "Content-Length: 0\r\n\r\n";
writer.Write(buffer);
streamWriter.WriteLine();
writer.Close();
reader.Close();
tcpClient.Close();
Wenn ich nun den Client in einer Endlosschleife mit 20 sek Pause zwischen den einzelnen Durchläufen laufen lasse, empfängt der Server zwischendurch HTTP-Pakete ohne Nutzdaten, also der Form:
"POST / HTTP/1.1Content-Length: 67Connection: Keep-AliveExpect: 100-continueHost: 192.168.1.2"
Das heisst, die Content-Length wird richtig angeben, aber der Inhalt geht verloren.
Ansonsten schauen die HTTP-Pakete so aus:
"POST / HTTP/1.1Content-Length: 67Connection: Keep-AliveExpect: 100-continueHost: 192.168.1.2Time: 30.01.2005 11:51:45 PDA-ID: 1 Longitude: 235, Latitude: 847"
Was mache ich da falsch?
Gruss,
MD