Funktion socket



  • Hallo Forum,

    versuch ein UDP-Socket zu oeffnen, aber er findet keine socket funktion.

    Hier ein kleines Beispiel:

    #include <winsock.h>
    #include <stdio.h>
    int main(void) {

    int sockfd;

    if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
    /*~~~~~*/
    {
    printf("Can't open socket\n");
    exit(1);
    }

    return(0);
    }

    Die Socket-Funktion sollte doch mit in der winsock.h sein oder ?!

    msf Oliver Kern



  • Hallo,
    Standard-C++ kennt keine Sockets. Demzufolge bist du hier falsch. Ich verschiebe die Frage mal nach WinAPI, da der <winsock.h>-Header darauf hinweist, dass du unter Windows programmierst.



  • wie lautet die Fehlermeldung?

    schonmal einfach die socket.h versucht?
    Du musst außerdem die Sockets im Windows initialisieren (siehe WSAStartup())
    das Einbinden der Sockets in die Compileroptionen ist auch noch wichtig (-lsocket)

    so, mehr fällt mir dazu nicht ein.
    Welchen Compiler benutzt Du?

    cYa
    DjR



  • Hallo DocJunioR

    Fehlermeldung vom Compilier (VC++ 6.0 Win32)

    socket.obj : error LNK2001: Nichtaufgeloestes externes Symbol _socket@12
    Debug/socket.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    Wenn ich socket.h einbinde kommt folgende Fehlermeldung::\temp\socket\socket.cpp

    (2) : fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'socket.h': No such file or directory

    Ich programmiere aber nicht unter WinAPI !!!!!!!!!
    Sondern Win32-Console.

    Ich habe hier ein grosse Project mit Quellcodes und da finde ich nix mit

    siehe WSAStartup())

    das muss auch noch einfacher gehen.
    Wo ist nun die socket-funktion implementiert ?!

    mfg Oliver Kern.



  • .. durchsuche alle *.lib dateien nach dem string "socket" und füge die ALLE in den zu linkenden Lib - Dateien ein .. ich glaub das war die wsock32.lib und die user32.lib die de brauchst ..#

    mfg



  • MSDN-Library -> socket()
    Da steht dann ganz unten, was du für header und libs brauchst 😉



  • Fehler gefunden, folgender eintrag fehlte:

    #pragma comment( lib, "ws2_32.lib" )

    Danke an alle Antworten.

    mfg OLiver Kern.


Anmelden zum Antworten