AW: [C] Socket für TCP/UDP Übertragung programmieren
1. Tu dir bitte einen gefallen und fang endlich an Fehlermeldungen und Man-Pages zu lesen! Dich juckt kein bisschen was der Compiler bzw die einzelnen Programme generell ausgeben (siehe deine mount-Versuche - der sagt dir doch klipp und klar wo der Fehler liegt).
2. Solange sowas
, fehlende Klammern und Zeiger-wo-keine-Zeiger hingehören (allerbestets Beispiel wo es schon fast schmerzt: scanf) im Code sind, wundert es mich im Prinzip erstmal, dass das überhaupt Übersetzt wird (bei mir tut's das nicht). Das es nicht funktioniert, wundert mich hingegen kein Stück weit. Und bevor die Fehler nicht aus dem Code draußen sind, macht es meiner Meinung nach auch keinen Sinn, den Fehler bei Linux oder irgendeiner VM Lösung zu suchen...
Also, drei Dinge die du hoffentlich tust:
1. Fehlermeldungen lesen und interpretieren (die erste Zahl sagt die Zeile, die zweite Zahl gibt das Zeichen an wo der Fehler bemerkt wurde - die Zeile ist OFT hilfreich!).
2. Man Pages und deren Posix Varianten (Linux ist in der Regel nicht vollständig Posix konform, wenn auch zum allergrößten Teil) anschauen. Posix Varianten findest du auch, wenn du nach "opengroup $funktion", also z.b. "opengroup posix" suchst.
3. Bei Speicherfehlern und auch sonst generell und immer und überhaupt: Valgrind verwenden.
Ich (und vermutlich auch andere) wären dir auch dankbar, wenn der Code mit folgenden Optionen kompiliert:
-Wall -Werror -pedantic -std=c99
DANN hast du nämlich schon einen ganzen Haufen "C" Fehler ausgebessert, und wir können uns dem Kern Problem zuwenden...
1. Tu dir bitte einen gefallen und fang endlich an Fehlermeldungen und Man-Pages zu lesen! Dich juckt kein bisschen was der Compiler bzw die einzelnen Programme generell ausgeben (siehe deine mount-Versuche - der sagt dir doch klipp und klar wo der Fehler liegt).
2. Solange sowas
Code:
/* close() - Socket freigeben */
int close(sockfd);
Also, drei Dinge die du hoffentlich tust:
1. Fehlermeldungen lesen und interpretieren (die erste Zahl sagt die Zeile, die zweite Zahl gibt das Zeichen an wo der Fehler bemerkt wurde - die Zeile ist OFT hilfreich!).
2. Man Pages und deren Posix Varianten (Linux ist in der Regel nicht vollständig Posix konform, wenn auch zum allergrößten Teil) anschauen. Posix Varianten findest du auch, wenn du nach "opengroup $funktion", also z.b. "opengroup posix" suchst.
3. Bei Speicherfehlern und auch sonst generell und immer und überhaupt: Valgrind verwenden.
Ich (und vermutlich auch andere) wären dir auch dankbar, wenn der Code mit folgenden Optionen kompiliert:
-Wall -Werror -pedantic -std=c99
DANN hast du nämlich schon einen ganzen Haufen "C" Fehler ausgebessert, und wir können uns dem Kern Problem zuwenden...
Zuletzt bearbeitet: