PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datentyp



loster
03-10-2007, 09:41
Hallo und schon wieder stehe ich auf der Leitung
welchem Datentyp kann ich eine IP Addrese zuweisen?
Damit das folgende Scipt funktioniert:

// baut eine TCP-Verbindung zu einem Server auf
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

int main()
{
int socket_nummer;
int laenge;
int portnummer;
int ip; ????
struct sockaddr_in adressinfo;
int ergebnis;
printf("Portscanner ----- Bitte Ip eingeben");
scanf("%d",&ip);
for(portnummer=0;portnummer <=100;++portnummer)
{
socket_nummer = socket(AF_INET, SOCK_STREAM, 0);
adressinfo.sin_family = AF_INET;
adressinfo.sin_addr.s_addr = inet_addr(ip);
adressinfo.sin_port = htons(portnummer);

laenge = sizeof(adressinfo);
ergebnis = connect(socket_nummer, (struct sockaddr *)&adressinfo, laenge);

if (ergebnis == 0)
{printf("\n------------------------------------------------------- ");
printf("\n Verbindungsaufbau erfolgreich ,Port %d ist erreichbar ",portnummer);
printf("\n------------------------------------------------------- ");
}
else
{printf("\nVerbindungsaufbau fehlgeschlagen ,Port %d ist nicht erreichbar ",portnummer);
perror("Fehler beim Verbindungsaufbau : ");

}
close(socket_nummer);
printf("\n\n");
}}
Bisweilen kommt folgende fehlermeldung:
gcc Client.c
Client.c: In Funktion »main«:
Client.c:27: Warnung: Übergabe des Arguments 1 von »inet_addr« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung

Hoffe das mir jemand helfen kann.

undefined
03-10-2007, 10:31
Schalte mal -Wall ein ;)
Und das hier dürfte dein Problem verdeutlichen warum es nicht gehen kann.
http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_005_001.htm