Problem mit Client-Programmierung
-
Ich bin grade dabei einen Client zu Programmieren.
Jetzt soll sich aber der Client z.B zu einer Webseite verbinden.
Jetzt will ich aber nur den Host angeben und nicht die Ip Adresse wie mache ich dies am besten?
-
Ich denke mal, das sollte dir helfen.
ph4nt0m
-
lol, ein bisschen Eigeninitiative würde Dir aber auch nicht schaden... . Zu dem Thema gibts doch an allen Ecken was, außerdem zum Beispiel:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-169861.html
-
Hmmm was muss ich den am Code änderen das sich der Client zu ner WebSeite Verbindet:
SOCKADDR_IN addrServer; addrServer.sin_family = AF_INET; addrServer.sin_addr.s_addr = inet_addr(ip); addrServer.sin_port = htons(Port);
-
Kann mir den niemand helfen?
Alleine Kriege ich das nicht hin.
-.-
-
nix
-
sockaddr_in addr; ZeroMemory(&addr, sizeof(sockaddr_in)); // iPort ist der Port addr.sin_port = htons(iPort); addr.sin_family = AF_INET; // pHost ist entweder die IP oder der Servername, dieser Code nimmt beides addr.sin_addr.s_addr = inet_addr(pHost); if (addr.sin_addr.s_addr == INADDR_NONE) { // Das wird ausgeführt, wenn pHost NICHT die IP war! hostent* info = gethostbyname(pHost); if (!info) // Der angegebene Webserver existiert gar nicht oder kann nicht gefunden werden { // irgend eine Fehlermeldung MessageBox(GetDesktopWindow(), "Fehler: Der angegeben Server wurde nicht gefunden!", "Fehler!", MB_OK|MB_ICONERROR); } memcpy((void*)&(addr.sin_addr.s_addr), info->h_addr_list[0], sizeof(in_addr)); // Der Webserver wurde gefunden... }Nach diesem Code hast du eine fertig ausgefüllte sockaddr_in Struktur
pHost ist ein char* oder char[].
iPort ist irgend ein Integer-Typ.MfG DrakoXP
PS.: es wäre nützlich, hinter der Fehlermeldung einen Abbruch
(zum Beispiel return, wenn das ganze in einer Funktion statt findet)
einzubauen, da es keinen Sinn macht das ganze fortzusetzen, wenn
der Server nicht gefunden werden konnt