C++ MySQL



  • I bräuchte beide IPs (lokal und internet) für lokalen Multiplayer und übers Internet...

    char szHostName[128] = "";
    
    if(::gethostname(szHostName, sizeof(szHostName)))
    {
      // Error handling -> call 'WSAGetLastError()'
    }
    
    // Get local IP addresses
    struct sockaddr_in SocketAddress;
    struct hostent     *pHost        = 0;
    
    pHost = ::gethostbyname(szHostName);
    if(!pHost)
    {
      // Error handling -> call 'WSAGetLastError()'
    }
    
      memcpy(&SocketAddress.sin_addr, pHost->h_addr_list[0], pHost->h_length);
      strcpy(LocalIP, inet_ntoa(SocketAddress.sin_addr));
    

    So bekomme ich eine IP, es gehen sogar mehrere, aber ich weiß nicht welche welche ist...

    Wisst ihr vielleicht, wo ich KOSTENLOS eine MySQL Datenbank im Internet bekomme (wenn möglich mit ftp für Dateien), der auch noch viel traffic (soll heißen viele Zugriffe auch von Dritten/Vierten) erlaubt ??



  • Ich bräuchte eine kostenlose MYSQL Datenbank, (oder gleich einen Server) auf die alle User zugreifen könne.

    Natürlich wird irgendein Anbieter so bescheuert sein und kostenlose SQL-Datenbank mit freigegebenem Zugriff von außerhalb erlauben damit Leute die CPU aufs Maximum quälen ohne dass es ihm irgendetwas bringt...

    Bei jedem Webhoster mit SQL kannst du davon ausgehen dass die Datenbank keine externen Verbindungen akzeptiert, halt gerade so dass PHP-Scripte laufen.

    Kleines Workaround:

    1. Du sucht dir einen Freehoster der PHP erlaubt und dir eine MySQL-DB anbietet
    2. Du legst eine PHP-Datei an die deine Datenbankzugriffe ausführt.
    3. Per HTTP-Request fütterst du über das Script die Datenbank



  • Ich kann kein PHP...
    Wie greift man mit c++ darauf zu ?

    Gibt es denn keine möglichkeit per Broadcast Hosts zu suchen ??

    Wäre besser für die Datenübertragung...



  • DarkShadow44 schrieb:

    Ich kann kein PHP...
    Wie greift man mit c++ darauf zu ?

    Dann lies dich kurz ein? Mit C++-Kenntnissen ist PHP ein Witz, zumindest die Syntax und viele Sprachelemente.

    Und auf was möchtest du mit C++ eigentlich zugreifen?
    Auf eine lokale MySQL-DB? MySQL++ , wie bereits gepostet.
    Auf eine externe DB? Viel Spaß beim implementieren.



  • Vielleicht erklärst du einfach nochmal genauer, als es bisher geschah, was du machen möchtest.
    Dann wird dir sicherlich eine passende Lösungsmöglichkeit vorgeschlagen werden.



  • Ich will ein (erst mal kleines) Multiplayer Spiel erstellen, dass man über das Internet spielen kann...

    Deshalb bräuchte ich eine öffentlich zugängliche Datenbank (MySQL), in die sich die Hosts eintragen und die Clients die Liste auslesen.

    Allerdings weiß ich noch nicht, wie man "kaputte" (im Sinne von abgestürzt und/oder eigenen Eintrag nicht gelöscht) Server löschen kann...



  • Sowas würde man niemals mit einer öffentlich zugänglichen Datenbank machen. Viel zu unsicher.
    Eher gibt es vor der Datenbank ein Serverprogramm, was die Liste verwaltet und als einziges Zugriff auf die Datenbank hat. Dorthin stellen die Clients ihre Anfrage und werden vom Server bedient.

    Die Einträge müssen von den Maschinen, auf die sie verweisen, regelmäßig aktualisiert werden. Sobald ein Eintrag mehr als beispielsweise 5 Minuten nicht aktualisiert wurde, wird er gelöscht. Ganz einfach.



  • Ich kann doch ein Passwort verwenden, es soll ja (erstmal ^^) Freeware sein.

    Die Hauptsache ist halt, dass es kostenlos gehen soll...

    Aber 5 min. lang ist für "tote" Host ganz schön lange.

    Anfangs wollte ich ja dauernd aktualisieren, und nach 1 sec löschen, aber der traffic wäre viel zu groß.

    Kann ich denn mit der MySQL-Server API auf Datenbanken im Internet zugreifen ?

    Muss MySQL-Server dafür auf jedem PC installiert sein ?

    Wie viel Traffic kann man einer öffentlichen Datenbank denn zumuten ?

    Und wo bekomme ich sie her ?

    Danke schon mal im Voraus ^^



  • DarkShadow44 schrieb:

    Kann ich denn mit der MySQL-Server API auf Datenbanken im Internet zugreifen ?
    Ja
    Muss MySQL-Server dafür auf jedem PC installiert sein ?
    Nein

    Danke schon mal im Voraus ^^

    Mit der Library die Ich im ersten post gepostet habe, kannst du mit max 5 linien zu deiner Datenbank eine verbindung herstellen.



  • Die 5 Minuten waren auch als Beispiel gedacht (für den geübten Leser an dem davor stehenden Wort "beispielsweise" zu erkennen).

    Aber eine kostenlose Datenbank zu finden, zu der du von außen(!) verbinden kannst, wird schwierig, wenn nicht unmöglich. Wurde auch schonmal erwähnt...


Anmelden zum Antworten