k danke das mit der Rechtschreibung lerne ich glaube ich nich mehr >.<
sieht mittlerweile so aus:
PHP-Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(void) {
struct sockaddr_in server; //Struktur vom Typ sockaddr_in deklariert.
struct hostent *host_info;
char input[40];
char *echo_string = malloc(50);
char echo_len;
unsigned long addr;
int sock;
//Eingabe:
printf("Bitte geben sie die Adresse an:\n");
fgets(echo_string,40, stdin);
fflush(stdin);
printf("Bitte geben sie einen Echostring an:\n");
fgets(echo_string,50, stdin);
fflush(stdin);
//Socket Initialisieren:
if(sock = socket(AF_INET, SOCK_STREAM, 0) < 0 ) {
fprintf(stderr,"Fehler beim Inizialiesieren des Sockets");
exit(EXIT_FAILURE);
}
//Ausfüllen des sockaddr_in struct:
memset( &server, 0, sizeof(server) );
if((addr = inet_addr(input)) != INADDR_NONE) {
memcpy( (char *)&server.sin_addr, &addr, sizeof(addr));
}
//Domainname in IP umwandeln:
else {
host_info = gethostbyname(input);
if(NULL == host_info) {
fprintf(stderr,"Unbekannter Server");
}
memcpy( (char *)&server.sin_addr, (*host_info).h_addr, (*host_info).h_length );
}
server.sin_family = AF_INET;
server.sin_port = htons(80);
//Verbinden:
if ( connect(sock,(struct sockaddr*)&server, sizeof(server)) < 0) {
fprintf(stderr,"Verbindung kann nicht aufgebaut werden.");
exit(EXIT_FAILURE);
}
echo_len = strlen(echo_string);
if (send(sock, echo_string, echo_len, 0) != echo_len) {
fprintf(stderr,"Fehler beim Senden des Echostrings");
exit(EXIT_FAILURE);
}
close (sock);
free(echo_string);
return EXIT_SUCCESS;
}
jetzt wird vom Compiler nichts mehr ausgegeben aber ich kann mich nicht verbinden hier das Terminal:
Code:
gh0st@a450-netbook:~/Desktop$ ./a.out
Bitte geben sie die Adresse an:
217.72.195.42
Bitte geben sie einen Echostring an:
HEAD / HTTP/1.0
Unbekannter ServerSegmentation fault
gh0st@a450-netbook:~/Desktop$