Bietet C++ diese Möglichkeiten?
-
Hallo,
ich habe ein kleines Problem, vielleicht könnt ihr mir ja weiterhelfen...
In meiner Ausbildung habe ich mal ein paar Monate C++ programmiert und weis da jetzt eigentlich nicht mehr so recht Bescheid.
Für meinen Arbeitgeber muss ich nun ein Programm schreiben entweder in VB6 oder C++.Das Programm muss folgendes können:
-
Die vom ISP zugewiesene, dynamische Internet-IP des Rechners auf dem es läuft auslesen
-
Falls keine DFÜ Verbindung aktiv ist, Herstellen einer DFÜ Verbindung mit bestehendem Eintrag
-
Start / Beenden eines Dienstes (VNC Server Dienst)
-
Prüfung welchen Port der Dienst benutzt
Da ich C++ vor VB6 vorziehe würde ich gern wissen, ob das mit C++ möglich ist.
Könnt ihr mir vieleicht auch ein paar Links zu den gerade genannten Dingen posten?Vielen Dank im Voraus für eure Mühe!
Gruß
Jan
-
-
Mit der C++-Standard-Library kommst du nicht sehr weit. Hier wäre es hilfreich, wenn du uns mitteilst, für welches OS das ganze sein soll? Ich denke mal, für Windows?
Dann solltest du dich mal auf http://msdn.microsoft.com bzw. in deiner VisualC++-Hilfe (da ist auch eine MSDN mit bei) umschauen. IP u.ä. auslesen sind einfache Dinge. Eine DFÜ-Verbindung ist auch ziemlich einfach, das findest du unter anderem auch auf Codeproject.com, wo du übrigens sehr viele C++/MFC-Tutorials findest, die sich mit Internet beschäftigen:
http://www.codeproject.com/internet/
Unter Dialup findest du Tutorials, wie man eine DFÜ-Verbindung einrichtet, aufbaut und kontrollieren kann.
Dann gibt es noch ACE, das ist eine Library, die nicht nur unter Windows funktioniert. Aber da weiß ich nicht, ob sie auch eine DFÜ-Verbindung aufbauen kann... ich weiß nur, das ACE sehr viel kann. Aber habe mich nie damit beschäftigt:
http://www.cs.wustl.edu/~schmidt/ACE.htmlACE dürfte aber für jemanden wie dich, der noch C++ Neuling ist, problematisch sein. Mit der MFC und den vielen Tutorials auf codeproject ist man besser aufgehoben.
-
Also das ganze soll auf win95 - XP laufen. Deshalb ja C++ oder VB6. Ansonsten haette ich es mit .NET machen können. Entwickeln möchte ich mit MS VC++ 6.0 mit MFC.
IP auslesen sei einfach sagst Du. Im Netz habe ich bis jetzt viele Posts dazu gefunden, aber die sagen alle: "Benutze 'getHostByName()'." Aus den Erklärungen und Beispielen dazu in der MSDN werde ich aber nicht schlau. Kann einer das mal näher erklären wie ich die DFÜ IP des eigenen Rechners auslese?
Mit MFC habe ich schon einige Erfahrung.
Was genau ist denn ACE?Gruß
Jan
-
Hier ein kleines Beispiel für das Auslesen er IP:
#include <windows.h> #include <conio.h> #include <iostream> using namespace std; #pragma comment(lib,"ws2_32.lib") // für MSV C++ int main() { char hostname[255]; char *szIPAddress; WORD wVer; WSADATA wData; PHOSTENT hostinfo; wVer = MAKEWORD( 2, 0 ); if ( WSAStartup( wVer, &wData ) == 0 ) { if( gethostname ( hostname, sizeof(hostname)) == 0) { if((hostinfo = gethostbyname(hostname)) != NULL) { szIPAddress = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); } } WSACleanup(); } cout<<szIPAddress<<endl; getch(); return 0; }
-
Schau mal hier:
http://tangentsoft.net/wskfaq/examples/ipaddr.htmlSowas kommt als erstes (!) Ergebnis bei google, wenn man nach local ip address "c++" sucht.

ACE ist eine C++-Library die eigentliche alle Gebiete des Netzwerks abdeckt. Egal ob du nen Webserver programmieren willst usw. Vorteil ist, das man damit nicht auf Windows beschränkt wird, man kann dann seinen C++-Code auch auf anderen Plattformen compilieren. Die unterstützten Plattformen sind auf der ACE-Website aufgelistet.
-
Eine Winsock FAQ: http://www.tangentsoft.net/wskfaq/
-
asSiDeluxE! schrieb:
Also das ganze soll auf win95 - XP laufen.
Windows 95 kennt aber keine Dienste!
-
ich weis. für win95/98 wird VNC als application installiert, ab NT4 als dienst. Es wird dort 2 Setups geben.
Vielen Dank schonmal für die guten Tips.
Dieses Forum kann man echt empfehlen
Gruß
Jan
-
Ist es denn überhaupt möglich, aus einer Anwendung heraus festzustellen, welchen Port eine andere Anwendung benutzt?

Wenn ja, wäre es nett, wenn einer ein Beispiel in dem Style von Günnis' Beispiel posten könnte...

Gruß
Jan
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.