Da ich nicht meinen kompletten code posten möchte, hier ein paar ausschnitte zu den sockets:
Code:
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
Code:
struct sockaddr_in r;
struct hostent *http;
char buff[1024];
char tempo[1024];
int port = 80;
int s;
Code:
r.sin_family = AF_INET;
r.sin_port = htons(80);
r.sin_addr.s_addr = INADDR_ANY;
strcpy(tempo, "GET /test.php?data=asdasd HTTP/1.1\r\nHost: www.test.de\r\n\r\n");
s=socket(AF_INET, SOCK_STREAM, 0);
if((connect(s, (struct sockaddr *)&r, sizeof(r))) == -1)
{
Msg("failed!");
}
else
{
send(s, tempo , sizeof(tempo) , 0);
}
close(s);
hoffe damit kannst du was anfangen.. er sendet den get befehl nicht ab nur weis ich nicht warum. (ist wie gesagt das 1. mal das ich mit sockets arbeite)
EDIT:
Ich habe den Code zum senden jetzt so:
Code:
sprintf(tempo, "GET /bla/test.php?data=%s HTTP/1.1\r\nHost:www.test.de:80\r\n\r\n",test.c_str());
s=socket(AF_INET, SOCK_STREAM, 0);
if((connect(s, (struct sockaddr *)&r, sizeof(r))) == -1)
{
Msg("failed!");
}
else
{
if(send(s, tempo , strlen(tempo) , 0) < 0)
{
Msg("Senden Fehlgeschlagen!\n");
} else {
Msg("Senden erfolgreich!\n");
Msg(tempo);
}
}
close(s);
die variable "test" ist so definiert (nur ein beispiel, wird im programm durch andere werte definiert):
Code:
std::string test = "2,4.2,5.2,100,0;2,-278.205,-598.403,100,0;3,548.266,2235.47,100,0;";
ich bekomme beim ausführen immer die Nachricht "Senden erfolgreich" und die variable "tempo" wird auch (in meinen augen) richtig ausgegeben:
Code:
GET /bla/test.php?data=3,-446.315,1674.19,100,0;2,-436.193,192.15,100,0; HTTP/1.1
Host:www.test.de:80
Nur kommt der GET befehl anscheinend nicht an dem PHP script an, denn dieses soll die daten in eine mysql datenbank eintragen, was es aber nicht macht. ich hoffe mir kann jemand helfen
Keiner der mir helfen kann?