Winsock Version



  • hi,

    du musst die bibilothek linken und die entsprechende header einbinden.

    #include <winsock2.h>
    #pragma comment(lib, "wsock32.lib")
    

    du kannst die wsock32.lib auch zu den projekteinstellungen hinzufügen
    projekt -> einstellungen -> linker -> und dann hinzuschreiben

    rechtschreibfehler 😉

    [ Dieser Beitrag wurde am 01.04.2003 um 13:06 Uhr von miller_m editiert. ]



  • Sry das ich den Thread aus der Versenkung hole aber ich habe

    #include "socket.h"
    #include "string.h"
    #include <iostream.h>
    #include <winsock2.h>
    #pragma comment(lib, "wsock32.lib")
    

    includiert und an die 100 Fehler

    c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    .....
    


  • Du musst <winsock2.h> *gaaaaanz* oben stehen haben...



  • Was steht denn in den Zeilen so?



  • geeky schrieb:

    Was steht denn in den Zeilen so?

    Nicht wirklich viel..

    socket.h

    #include <winsock2.h>
    #pragma comment(lib, "wsock32.lib")
    class socket
    {
    	public:
    		void sendmsg(char msg[]);
    };
    

    socket.cpp

    #include "socket.h"
    #include "string.h"
    #include <iostream.h>
    
    void socket::sendmsg(char msg[])
    {
    	cout << "Deine Nachricht war: " << msg;
    }
    
    int main()
    {
    	socket *pObj = new socket();
    	pObj->sendmsg("TEST TEST");
    
    	return 0;
    }
    


  • Ich hab die Headerdatei jetzt hoch und runter geschoben aber immer noch keine Möglichkeit gefunden das diese 100 Fehler nicht existieren



  • Es gibt doch die Funktion "socket". Könnte sein, dass das nen Makro ist, wegen Unicode und so. Versuch mal, deine Klasse anders zu nennen 🙂



  • Badestrand schrieb:

    Es gibt doch die Funktion "socket". Könnte sein, dass das nen Makro ist, wegen Unicode und so. Versuch mal, deine Klasse anders zu nennen 🙂

    edit....
    es geht *freu*

    Jup hab jetzt 58 Fehler aber eigentlich sollte ja ein fehlerfreies Compilieren möglich sein ohne Deklaration von Prototypen aus der Header

    c:\programme\microsoft visual studio\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(49) : Siehe Deklaration von 'fd_set'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(134) : warning C4005: 'FD_SET' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(83) : Siehe vorherige Definition von 'FD_SET'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(143) : error C2011: 'timeval' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(92) : Siehe Deklaration von 'timeval'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(199) : error C2011: 'hostent' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(148) : Siehe Deklaration von 'hostent'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(212) : error C2011: 'netent' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(161) : Siehe Deklaration von 'netent'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(219) : error C2011: 'servent' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(168) : Siehe Deklaration von 'servent'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(226) : error C2011: 'protoent' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(175) : Siehe Deklaration von 'protoent'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(310) : error C2011: 'in_addr' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(259) : Siehe Deklaration von 'in_addr'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(368) : error C2011: 'sockaddr_in' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(309) : Siehe Deklaration von 'sockaddr_in'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(378) : error C2011: 'WSAData' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(319) : Siehe Deklaration von 'WSAData'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(430) : warning C4005: 'SO_DONTLINGER' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(391) : Siehe vorherige Definition von 'SO_DONTLINGER'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(483) : warning C4005: 'AF_IPX' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(449) : Siehe vorherige Definition von 'AF_IPX'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(506) : warning C4005: 'AF_MAX' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(468) : Siehe vorherige Definition von 'AF_MAX'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(512) : error C2011: 'sockaddr' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(474) : Siehe Deklaration von 'sockaddr'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(521) : error C2011: 'sockproto' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(483) : Siehe Deklaration von 'sockproto'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(560) : error C2011: 'linger' : 'struct' Typneudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(520) : Siehe Deklaration von 'linger'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(573) : warning C4005: 'SOMAXCONN' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(533) : Siehe vorherige Definition von 'SOMAXCONN'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(598) : warning C4005: 'FD_READ' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(551) : Siehe vorherige Definition von 'FD_READ'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(601) : warning C4005: 'FD_WRITE' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(552) : Siehe vorherige Definition von 'FD_WRITE'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(604) : warning C4005: 'FD_OOB' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(553) : Siehe vorherige Definition von 'FD_OOB'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(607) : warning C4005: 'FD_ACCEPT' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(554) : Siehe vorherige Definition von 'FD_ACCEPT'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(610) : warning C4005: 'FD_CONNECT' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(555) : Siehe vorherige Definition von 'FD_CONNECT'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(613) : warning C4005: 'FD_CLOSE' : Makro-Neudefinition
            c:\programme\microsoft visual studio\vc98\include\winsock.h(556) : Siehe vorherige Definition von 'FD_CLOSE'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1427) : error C2375: 'accept' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(707) : Siehe Deklaration von 'accept'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1448) : error C2375: 'bind' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(710) : Siehe Deklaration von 'bind'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1467) : error C2375: 'closesocket' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(712) : Siehe Deklaration von 'closesocket'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1486) : error C2375: 'connect' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(714) : Siehe Deklaration von 'connect'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1507) : error C2375: 'ioctlsocket' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(716) : Siehe Deklaration von 'ioctlsocket'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1528) : error C2375: 'getpeername' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(718) : Siehe Deklaration von 'getpeername'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1549) : error C2375: 'getsockname' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(721) : Siehe Deklaration von 'getsockname'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1572) : error C2375: 'getsockopt' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(724) : Siehe Deklaration von 'getsockopt'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1593) : error C2375: 'htonl' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(727) : Siehe Deklaration von 'htonl'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1610) : error C2375: 'htons' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(729) : Siehe Deklaration von 'htons'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1627) : error C2375: 'inet_addr' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(731) : Siehe Deklaration von 'inet_addr'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1644) : error C2375: 'inet_ntoa' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(733) : Siehe Deklaration von 'inet_ntoa'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1662) : error C2375: 'listen' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(735) : Siehe Deklaration von 'listen'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1680) : error C2375: 'ntohl' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(737) : Siehe Deklaration von 'ntohl'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1697) : error C2375: 'ntohs' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(739) : Siehe Deklaration von 'ntohs'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1717) : error C2375: 'recv' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(741) : Siehe Deklaration von 'recv'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1742) : error C2375: 'recvfrom' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(743) : Siehe Deklaration von 'recvfrom'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1768) : error C2375: 'select' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(746) : Siehe Deklaration von 'select'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1792) : error C2375: 'send' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(749) : Siehe Deklaration von 'send'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1817) : error C2375: 'sendto' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(751) : Siehe Deklaration von 'sendto'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1843) : error C2375: 'setsockopt' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(754) : Siehe Deklaration von 'setsockopt'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1865) : error C2375: 'shutdown' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(757) : Siehe Deklaration von 'shutdown'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1885) : error C2375: 'socket' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(759) : Siehe Deklaration von 'socket'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1908) : error C2375: 'gethostbyaddr' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(763) : Siehe Deklaration von 'gethostbyaddr'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1927) : error C2375: 'gethostbyname' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(766) : Siehe Deklaration von 'gethostbyname'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1945) : error C2375: 'gethostname' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(768) : Siehe Deklaration von 'gethostname'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1964) : error C2375: 'getservbyport' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(770) : Siehe Deklaration von 'getservbyport'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(1983) : error C2375: 'getservbyname' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(772) : Siehe Deklaration von 'getservbyname'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2001) : error C2375: 'getprotobynumber' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(775) : Siehe Deklaration von 'getprotobynumber'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2018) : error C2375: 'getprotobyname' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(777) : Siehe Deklaration von 'getprotobyname'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2038) : error C2375: 'WSAStartup' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(781) : Siehe Deklaration von 'WSAStartup'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2056) : error C2375: 'WSACleanup' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(783) : Siehe Deklaration von 'WSACleanup'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2073) : error C2375: 'WSASetLastError' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(785) : Siehe Deklaration von 'WSASetLastError'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2090) : error C2375: 'WSAGetLastError' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(787) : Siehe Deklaration von 'WSAGetLastError'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2107) : error C2375: 'WSAIsBlocking' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(789) : Siehe Deklaration von 'WSAIsBlocking'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2124) : error C2375: 'WSAUnhookBlockingHook' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(791) : Siehe Deklaration von 'WSAUnhookBlockingHook'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2141) : error C2375: 'WSASetBlockingHook' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(793) : Siehe Deklaration von 'WSASetBlockingHook'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2158) : error C2375: 'WSACancelBlockingCall' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(795) : Siehe Deklaration von 'WSACancelBlockingCall'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2180) : error C2375: 'WSAAsyncGetServByName' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(797) : Siehe Deklaration von 'WSAAsyncGetServByName'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2207) : error C2375: 'WSAAsyncGetServByPort' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(802) : Siehe Deklaration von 'WSAAsyncGetServByPort'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2233) : error C2375: 'WSAAsyncGetProtoByName' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(806) : Siehe Deklaration von 'WSAAsyncGetProtoByName'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2258) : error C2375: 'WSAAsyncGetProtoByNumber' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(810) : Siehe Deklaration von 'WSAAsyncGetProtoByNumber'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2283) : error C2375: 'WSAAsyncGetHostByName' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(814) : Siehe Deklaration von 'WSAAsyncGetHostByName'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2310) : error C2375: 'WSAAsyncGetHostByAddr' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(818) : Siehe Deklaration von 'WSAAsyncGetHostByAddr'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2333) : error C2375: 'WSACancelAsyncRequest' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(822) : Siehe Deklaration von 'WSACancelAsyncRequest'
    c:\programme\microsoft visual studio\vc98\include\winsock2.h(2353) : error C2375: 'WSAAsyncSelect' : Neudefinition; unterschiedliche Bindung
            c:\programme\microsoft visual studio\vc98\include\winsock.h(824) : Siehe Deklaration von 'WSAAsyncSelect'
    


  • Hatte den gleichen Fehler.

    #include "windows.h"
    

    Bindet Winsock 1 ein. Und Winsock 2 definiert unter den gleichen Namen alles neu, daher die Namenskonflikte.

    Entweder du bindest Winsock 2 vor "windows.h" ein, oder du schreibst folgendes vor "windows.h":

    #define _WINSOCKAPI_
    

    Liebe Grüße
    Samuel



  • ne, besser #define WIN32_LEAN_AND_MEAN vor #include <windows.h> schreiben.
    🙂



  • Was bedeutet #define WIN32_LEAN_AND_MEAN genau?

    Er nimmt nur die wichtigsten Windows Methoden, oder was?


Anmelden zum Antworten