gerufenes Objekt "socket" ist keine Funktion
-
Hi,
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> int main(void) { printf("IP-Adresse eingeben: "); char ip_addr[20]; fgets(ip_addr, 20, stdin); int socket = socket(AF_INET, SOCK_STREAM, 0); if (socket < 0) { printf("Socket konnte nicht hergestellt werden.\n"); return EXIT_FAILURE; } struct sockaddr_in server; server.sin_family = AF_INET; server.sin_port = htons(80); server.sin_addr.s_addr = inet_addr(ip_addr); if (connect(socket, (struct sockaddr*)&server, sizeof(server)) < 0) { printf("Verbindung konnte nicht hergestellt werden.\n"); return EXIT_FAILURE; } return EXIT_SUCCESS; }
Compiler (gcc) gibt die im Titel angegebene Fehlermeldung aus. Was hat das genau zu bedeuten?
-
int socket = socket(AF_INET, SOCK_STREAM, 0);
Nach dem
=
istsocket
eine lokaleint
-Variable und verdeckt damit die globale Funktion gleichen Namens.