Hallo Freunde,
ich habe ein Problem bei einer C-Funktion, die zum Server verbinden soll. Debugger spuckt nichts aus, aber beim ausführen des Programms erwartet mich ein Segmentation Fault, ich frage mich aber wieso.
Das ganze wird unter Linux ausgeführt.
So sieht meine Funktion aus:
Wäre super, wenn mir da jemand helfen kann.
Greetz,HD
ich habe ein Problem bei einer C-Funktion, die zum Server verbinden soll. Debugger spuckt nichts aus, aber beim ausführen des Programms erwartet mich ein Segmentation Fault, ich frage mich aber wieso.
Das ganze wird unter Linux ausgeführt.
So sieht meine Funktion aus:
Code:
// Baue Verbindung zu Server auf:
Server_connect(){
// definiert in <netinet/in.h>
// Struktur beinhaltet IP/Port, standardmaessig: server_addr.sin_family = AF_INET
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(IP);
server_addr.sin_port = htons(PORT);
// Socket anlegen
sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
// Hier mal pruefen, ob alles ok ist beim Socket
if (sockfd < 0){
error("ERROR beim Oeffnen des Sockets");
}
// Jetzt versuchen zu verbinden
if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0){
error("ERROR beim Verbinden zum Server");
}
printf("Zum Server verbunden\n");
return 0;
}
Wäre super, wenn mir da jemand helfen kann.
Greetz,HD