kostenloser Webspace werbefrei: lima-city


Verbindung zu No-Ip?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    monlisi

    monlisi hat kostenlosen Webspace.

    Hallo,Ich habe mir bei www.no-ip.com/ einen Account angelegt und habe jetzt ja meine no-ip adresse zugeweisen bekommen. Folgende Frage:
    Ich habe 2 Programme, einen server einen clienten. Gebe ich dem Clienten die genaue IP des servers verbindet er und ich kann "chatten" aber wie mache ich das mit so einer irgendwas.no-ip.biz? (sry kA wie man das nennt) Ich hab was gelesen mit Host auflösen und so aber das hat alles nicht funktioniert. Wäre dankbar für jede Hilfe/Erklährung, danke MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Soll das Ganze dann auch noch inb irgendein C/C++-Programm integriert werden?
    Da du von DynDNS keinen Schimmer hast, nehme ich mal an, dass es darum nicht geht :)

    Schau mal im Menü deines Routers nach DynDNS. Da kannst du die Zugangsdaten und die dir von no-ip zugeteilte Subdomain eintragen.
    Der Router übernimmt dann das updaten auf dem DNS-Server.

    Alternativ kann auch auf dem Server ein DynDNS-Client laufen, der dann nach ejdem Reconnect des Routers die neue IP an den DNS-Server übermittelt.
    Schau dazu mal bei google nach "ddclient".


    Noch Fragen? ;)




    gruß
    ferdinand24
  4. Autor dieses Themas

    monlisi

    monlisi hat kostenlosen Webspace.

    Hey, danke schonmal für di schnelle Antwort
    Ja sry es soll in ein c++ programm intergriert werden, und ja das mit dyndns kenn ich mich nicht besonders aus, meine frage ist eigentlich:
    Ich habe einen clienten(in c++) der nach eingabe der IP des Servers, zu diesem connected.
    Ich möchte jetzt aber vermeiden dass der beutzer jedesmal di ip des servers eingeben muss, und dann kam ich eben auf diese DynDNS Sache. Ich habe jetzt so eine DynDNS adresse und möchte dass mein clientprogramm über diese eine verbindung zu meinem server herstellt(der natürlich auf dem rechner mit der jeweiligen ip läuft). Falls das auch einfacher geht bin ich natürlcih offen für jegliche Ideen ;)
  5. Hast du überhaupt Ahnung von C++?
    Jedenfalls kann man mit gethostbyname() eine Domain in eine IP umwandeln lassen. Dabei ist es unerheblich, ob es sich um eine DynDNS o.ä. Domain handelt oder eine "normale".

    Beitrag zuletzt geändert: 20.5.2009 17:24:22 von bladehunter
  6. Naja, solange du den Quellcode des Programms nicht hast (Hast du ihn? :blah: ), kannst du da wenig bewirken.
    Selbst wenn, ist ohne C++-Kenntnisse (Hast du C++-Kenntnisse? :blah:) die Integration eines DDClients wohl nicht mal ohne weiteres machbar.

    Kannst du im Client keinen Host angeben (e.g. http://example.com)?
    Dann wäre das kein Problem.

    Ansonsten kann man sich vielleicht irgendwas Russisches basteln:
    Man könnte den Server die IP bei jedem Wechsel in eine Textdatei schreiben lassen. Dann bastelst du dir lokal ein Script, welches die IP bei jedem Start deines Clients per HTTP aus dieser Textdatei liest und in die Config deines Clients einträgt.

    Sind aber alles nur Workarounds: ausbaufähig und nicht strengstens ernst zu nehmen...




    gruß
    ferdinand24

    Beitrag zuletzt geändert: 20.5.2009 17:27:54 von ferdinand24
  7. Autor dieses Themas

    monlisi

    monlisi hat kostenlosen Webspace.

    Hi, ok also ich hab die sourcecodes von beiden Programmen und ich hatte auch schonmal so ein workaround im kopf (nur halt mit ner online mysql DB in die ich die IP des servers eintrage, jeder client liest diese dann aus und verbindet damit zum server) Jetzt hab ich aber (danke bladehunter) einen source gefunden mit dem ich scheinbar di ip aus einer dyndns adresse auflösen kann. Ich bekomm dann zwar ne ip, aber die ist total falsch und ja ich habe c++ kentnisse wenn auch etwas eingerostet da ich mich lange nicht damit beschäftigt habe, allerdings ist die netzwerkprogrammierung neuland für mich;)

    Hier der code
    #include <iostream>
    #include <winsock2.h>
    
    	unsigned int VerbindenAnServer(std::string server, int port)
    	{
    		SOCKET sock;
    		char serverip[20];
    		sockaddr_in addr;
    		WSADATA wsaData;
    	
    		if(WSAStartup(MAKEWORD(1,1), &wsaData) != 0)
    			std::cout<<"WSA konnte nicht initialisiert werden.";
    
    		hostent *dns = gethostbyname(server.c_str());
    		sprintf(serverip, "%u.%u.%u.%u",
    			(unsigned char) dns->h_addr_list[0][0],	(unsigned char) dns->h_addr_list[0][1],
    			(unsigned char) dns->h_addr_list[0][2], (unsigned char) dns->h_addr_list[0][3]);
    
          printf(serverip);
    		addr.sin_family = AF_INET;
    		addr.sin_port = htons(port);
    		addr.sin_addr.s_addr = inet_addr(serverip);
    
    		sock = socket(AF_INET, SOCK_STREAM, 0);
    		if(sock == 0)
    			std::cout<<"Socket konnte nicht initialisiert werden";
    
    		if(connect((SOCKET)sock, (sockaddr *) &addr, sizeof(addr)) == -1)
    			std::cout<<"Verbindung konnte nicht hergestellt werden";
    		char temp[10000];
    		int x = recv(sock, temp, 10000, 0);
    		temp[x] = 0;
    		std::cout<< temp;
    
    		return sock;
    	}
    
    int main(){
        VerbindenAnServer("don1n0.no-ip.biz",80000);
    }


    Beitrag zuletzt geändert: 20.5.2009 19:19:56 von monlisi
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!