Ip-Control für socketbasiertes Programm einsetzen
-
Moin,
ich habe einen Dialog, in dem ein IP-Control eingebaut ist.
Auf Buttondruck hole ich mit mitDWORD IPAdresse; SendMessage(GetDlgItem(hwndDlg,ID_IP),IPM_GETADDRESS,0,(LPARAM)(LPDWORD)&IPAdresse);den Inhalt des Controls.
Meine Frage ist, wie ich nun IPAdresse in ein Format bekomme, um
es direkt in sockaddr_in.sin_addr kopieren zu können
und dann mittels Sockets eine Verbindung zu dem Rechner mit dieser IP
aufbauen kann.
Danke für Hilfe!
-
[SOCKADDR_IN].sockaddr_in.sin_addr = inet_addr((char*)&IPAdresse);
lg Max
-
Danke, aber bei mir funktioniert das so nicht !?
SOCKADDR_IN server; DWORD IPAdresse; // Wertzuweisung siehe oben. server.sin_addr = inet_addr((char*)&IPAdresse);Deiner Meinung nach müsste das ja eigentlich so aussehen:
server.sockaddr_in.sin_addr = inet_addr((char*)&IPAdresse);Geht bei mir beides nicht. Deine Version ist nicht möglich,
weil die Struktur anders ist.
Und meine Abänderung davon verursacht den Fehler, dass angeblich
'unsigned long' nicht in 'IN_ADDR' konvertiert werden kann.
Schade.[EDIT]
Habe es jetzt anders gelöst, indem ich das IP-Control durch ein
Edit-Control ersetzt habe.
Den Inhalt bekomme ich mittels GetWindowTextA().
Der Vorteil ist, dass man so auch Rechnernamen einsetzen kann (z.B. localhost)
und nicht nur IP-Adressen.
[/EDIT]