suse
15-05-2003, 18:06
Hi,
habe mir vollgenden Server Socket geschrieben;
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main()
{
int server_socket, client_socket;
int laenge, ende;
int zahl = 0;
struct sockaddr_in serverinfo, clientinfo;
char empfangene_zeichen[1000];
char puffer[100]; // Puffer fuer die sprintf() Funktion
char web_seite[] ="HTTP/1.1 200 OK\r\n\r\n\
<html><body><h1><center>Hallo Web-World</center></h1></body></html>";
server_socket = socket(AF_INET, SOCK_STREAM, 0);
serverinfo.sin_family = AF_INET;
serverinfo.sin_addr.s_addr = inet_addr("192.168.123.13");
serverinfo.sin_port = htons(5000);
laenge = sizeof(serverinfo);
while(1) //Start der Endlosschleife
{
zahl++;
bind(server_socket,(struct sockaddr*)&serverinfo, laenge);
listen(server_socket, 3);
//printf("\n Der Server wartet.....\n");
client_socket = accept(server_socket, (struct sockaddr*)&clientinfo, &laenge);
//printf("\nVerbindung mit %s war erfolgreich!\n", inet_ntoa(clientinfo.sin_addr));
sprintf(puffer,"<html><body><center>Du bist mein %d Besucher</center></body></html>",zahl);
read(client_socket, empfangene_zeichen, sizeof(empfangene_zeichen));
write(client_socket, web_seite,sizeof(web_seite));
write(client_socket, puffer,sizeof(puffer)); //neuer puffer gibt die
//Anzahl der Verbindungen an
close(client_socket);
} // ende der Endlossschleife
close(server_socket);
printf("\nServer beendet");
}
Doch leider liefert mir der Puffer immer wieder Schrott im Brauser.
Alles ander läuft wunderbar. Ich bekomme so eine Meldung im Browser;
Hallo Web-World
Du bist mein 10 Besucher
@ôõÿ¿_Ú@4€GET /
Die ersten beiden Zeilen sind ok doch die letzte sollte er mir garnich liefern...
Weisst einer von euch woran das liegen kann.
gruss
suse
habe mir vollgenden Server Socket geschrieben;
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main()
{
int server_socket, client_socket;
int laenge, ende;
int zahl = 0;
struct sockaddr_in serverinfo, clientinfo;
char empfangene_zeichen[1000];
char puffer[100]; // Puffer fuer die sprintf() Funktion
char web_seite[] ="HTTP/1.1 200 OK\r\n\r\n\
<html><body><h1><center>Hallo Web-World</center></h1></body></html>";
server_socket = socket(AF_INET, SOCK_STREAM, 0);
serverinfo.sin_family = AF_INET;
serverinfo.sin_addr.s_addr = inet_addr("192.168.123.13");
serverinfo.sin_port = htons(5000);
laenge = sizeof(serverinfo);
while(1) //Start der Endlosschleife
{
zahl++;
bind(server_socket,(struct sockaddr*)&serverinfo, laenge);
listen(server_socket, 3);
//printf("\n Der Server wartet.....\n");
client_socket = accept(server_socket, (struct sockaddr*)&clientinfo, &laenge);
//printf("\nVerbindung mit %s war erfolgreich!\n", inet_ntoa(clientinfo.sin_addr));
sprintf(puffer,"<html><body><center>Du bist mein %d Besucher</center></body></html>",zahl);
read(client_socket, empfangene_zeichen, sizeof(empfangene_zeichen));
write(client_socket, web_seite,sizeof(web_seite));
write(client_socket, puffer,sizeof(puffer)); //neuer puffer gibt die
//Anzahl der Verbindungen an
close(client_socket);
} // ende der Endlossschleife
close(server_socket);
printf("\nServer beendet");
}
Doch leider liefert mir der Puffer immer wieder Schrott im Brauser.
Alles ander läuft wunderbar. Ich bekomme so eine Meldung im Browser;
Hallo Web-World
Du bist mein 10 Besucher
@ôõÿ¿_Ú@4€GET /
Die ersten beiden Zeilen sind ok doch die letzte sollte er mir garnich liefern...
Weisst einer von euch woran das liegen kann.
gruss
suse