Problem: WinSocket und Visual C++ 2008
-
Hallo,
ich habe folgendes Problem:Ich wollte mich in die Winsockets einarbeiten und ein gaaaanz einfaches Programm
schreiben, was einfach einen String sendet und eins, was den String empfängt.
Klingt einfach nicht?
Theoretisch ist mir auch klar, was ich tun muss. Dennoch scheitere ich schon beim ersten Schritte, dem Initialisieren des Sockets...// WinSock.cpp: Hauptprojektdatei.
#include "stdafx.h" // Standart Header von Visual C++ 2008
#include <winsock2.h> // Header für die wichtigsten WinSocketklassen
#include <ws2tcpip.h> // Erweiterte Funktionen für WinSocket
#include <stdio.h> // alte C Header für Ein und Ausgabeusing namespace System;
// Initialize Winsock
int iResult;
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf("WSAStartup failed: %d\n", iResult);
return 1;
}int main(array<System::String ^> ^args)
{return 0;
}Jetzt erhalte ich folgenden Fehlercode:
------ Erstellen gestartet: Projekt: WinSock, Konfiguration: Debug Win32 ------
Kompilieren...
WinSock.cpp
.\WinSock.cpp(15) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
.\WinSock.cpp(15) : error C2086: 'int iResult': Neudefinition
.\WinSock.cpp(14): Siehe Deklaration von 'iResult'
.\WinSock.cpp(15) : error C2065: 'wsaData': nichtdeklarierter Bezeichner
.\WinSock.cpp(16) : error C2059: Syntaxfehler: 'if'
.\WinSock.cpp(16) : error C2143: Syntaxfehler: Es fehlt ';' vor '{'
.\WinSock.cpp(16) : error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Eigene Dateien\Visual Studio 2008\Projects\WinSock\WinSock\Debug\BuildLog.htm" gespeichert.
WinSock - 6 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========HIIILFE!!!
Ich habe den Code 100mal überprüft, er ist 1:1 aus der MSDN oder wie in Tutorialen beschrieb. Was mache ich falsch?P.s.: Ich bin kein C++ Gott, ehr das gegenteil
-
falsches Forum.....
-
denjo303 schrieb:
falsches Forum.....
Und keine Code-Tags!!!1 (Sollen wir Zeile 15 manuell abzählen?)
Easy C++ schrieb:
Ich habe den Code 100mal überprüft, er ist 1:1 aus der MSDN oder wie in Tutorialen beschrieb
Es gibt Programme in der MSDN, bei denen die Anweisungen ausserhalb von Funktionen notiert sind?! Das würde ich aber reklamieren.
Hint: Dein Programm ist ein C++/CLI-Konsolenprogramm (kein C(++)-Konsolenprogramm), und Du versuchst darin C-Funktionen ausserhalb eines Funktionsblocks zu benutzen. Wenn Du nicht weißt, was ich mit "ausserhalb eines Funktionsblocks" meine: Lern besser erst die Grundzüge der Sprache, und dann versuchs nochmal mit Sockets.
-
Oh Gott, bin ich bräsig!
Ich habs echt vor die main geschrieben und nicht rein...Danke für die schnelle Hilfe.
-
Ausserdem: Warum Winsock nehmen, wenn man mit .NET arbeitet? .NET bietet komfortable Networking Unterstützung.
Simon
-
wie connected man mit einem anderen Rechner, oder wie sucht man im netzwerk??
nur mal so als kleine nebenbei frage...
-
Ich kenn nur die die alten Sockets.
Wo finde/muss ich suchen, denn etwas über die neuen Wege von .Net?Kann vllt jemand sogar ein Buch empfehlen?
Danke im voraus
-
Easy C++ schrieb:
Ich kenn nur die die alten Sockets.
Wo finde/muss ich suchen, denn etwas über die neuen Wege von .Net?Kann vllt jemand sogar ein Buch empfehlen?
Danke im voraus
http://msdn.microsoft.com/en-us/library/aa308962.aspx
Ansonsten Google.. das Netz ist voller Beispiele.
Simon