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.