externe Datenbank
-
mysql++ braucht keinen Vollzugriff, wie kommst du auf diese Idee?
Könnte ja sein.
Die Datenbank läuft auf einem Schulserver, nur zum Testen. ^^
Mit "/phpMyAdmin/" geht's...Woran liegt es denn, dass der Zugriff nicht geht ?
Und woher bekommt man eine "zugriffsmögliche" Datenbank ?
Weil Broadcasts gehen übers Internet ja nicht
-
DarkShadow44 schrieb:
Weil Broadcasts gehen übers Internet ja nicht
Das hat mit Broadcasts gar nichts zu tun, selbst wenn die gehen würde, würden die hier nicht helfen.
DarkShadow44 schrieb:
Woran liegt es denn, dass der Zugriff nicht geht ?
An der Konfiguration des mysql-Servers oder des Paketfilters davor.
DarkShadow44 schrieb:
Und woher bekommt man eine "zugriffsmögliche" Datenbank ?
Den Admin bitten, den Server umzukonfigurieren. Oder einen eigenen Server aufsetzen, wo man dann selber der Admin ist, und das umkonfigurieren kann. Empfehlen würde ich das aber nicht, eine unverschlüsselte mysql-Verbindung übers offene Internet zu führen.
-
Das hat mit Broadcasts gar nichts zu tun, selbst wenn die gehen würde, würden die hier nicht helfen.
Doch, dann bräuchte ich keine Datenbank
Den Admin bitten, den Server umzukonfigurieren. Oder einen eigenen Server aufsetzen, wo man dann selber der Admin ist, und das umkonfigurieren kann. Empfehlen würde ich das aber nicht, eine unverschlüsselte mysql-Verbindung übers offene Internet zu führen.
Und wie dann ? Ich bräuchte halt eine Möglichkeit Clients und Server übers Internet komunizieren zu lassen, ohne dass deren IPs bekannt sind.
Aber eigener Server geht nicht, da mein PC ja nicht an sein soll.
-
DarkShadow44 schrieb:
Das hat mit Broadcasts gar nichts zu tun, selbst wenn die gehen würde, würden die hier nicht helfen.
Doch, dann bräuchte ich keine Datenbank
Wird aus deinen obigen Postings nicht klar, warum du dann keine Datenbank bräuchtest.
DarkShadow44 schrieb:
Den Admin bitten, den Server umzukonfigurieren. Oder einen eigenen Server aufsetzen, wo man dann selber der Admin ist, und das umkonfigurieren kann. Empfehlen würde ich das aber nicht, eine unverschlüsselte mysql-Verbindung übers offene Internet zu führen.
Und wie dann ? Ich bräuchte halt eine Möglichkeit Clients und Server übers Internet komunizieren zu lassen, ohne dass deren IPs bekannt sind.
Das klingt gerade nach völlig anderen Anforderungen als du weiter oben beschrieben hast. Kannst du genauer sagen, was du möchtest?
Bei einer Verbindung im Internet ist es zwangsläufig so, dass beide Kommunikationspartner die IP des jeweils anderen kennen müssen. Ist auch klar, denn sonst könnten sie nicht miteinander reden.
Um die Verbindung aufzubauen, muss der Client die IP des Servers kennen, sonst ist es nicht möglich, eine Verbindung aufzubauen. Woher der Client die IP bekommt, dafür gibt es viele Möglichkeiten. Eine der üblichsten ist das DNS-System, das z.B. www.c-plusplus.net zu einer IP auflöst.
-
Wird aus deinen obigen Postings nicht klar, warum du dann keine Datenbank bräuchtest.
Sorry.
Ich will ein Programm schreiben (kostenlos), bei dem man sich aussuchen kann: Host/Client
Die Host müssen ihre IP irgendwie an die Clients übertragen.
Broadcast verwende ich für nur lokale Verbindungen, da sie im Internet nicht funktionieren.
Für Internet-Kommunikation sollen die Hosts ihre IP in eine DB schreiben, welche die Clients auslesen können.Eine der üblichsten ist das DNS-System, das z.B. www.c-plusplus.net zu einer IP auflöst.
Aber da die Hosts wechselnd sind, geht da DNS ?
-
DarkShadow44 schrieb:
Wird aus deinen obigen Postings nicht klar, warum du dann keine Datenbank bräuchtest.
Sorry.
Ich will ein Programm schreiben (kostenlos), bei dem man sich aussuchen kann: Host/Client
Die Host müssen ihre IP irgendwie an die Clients übertragen.
Broadcast verwende ich für nur lokale Verbindungen, da sie im Internet nicht funktionieren.
Für Internet-Kommunikation sollen die Hosts ihre IP in eine DB schreiben, welche die Clients auslesen können.Dann kommt eine direkte DB-Verbindung sowieso nicht in Frage, weil dann ja jeder Client das Datenbank-Passwort wüsste und die kompletten Tabellen löschen könnte.
Eine (AFAIK) übliche Lösung ist, dass es einen zentralen Server gibt, an dem sich die Hosts anmelden. Ein neuer Client fragt dann diesen zentralen Server nach den IPs der angemeldeten Hosts. Das geht im Prinzip schon mit einem Webspace, auf dem du php und mysql benutzen kannst, indem du ein paar php-Skripte schreibst, die die entsprechenden Aufgaben erledigen (Eintragen eines neuen Hosts, Entfernen eines abgemeldeten Hosts, Löschen zu alter Hosts, Bereitstellen der IP-Liste an Clients). Das skaliert natürlich nur sehr bedingt.
Eindeutig besser wäre ein einfacher V-Server, den es für <10 Euro im Monat gibt.
edit: Das klang oben vielleicht etwas zu negativ: Die Möglichkeit, per php/mysql auf einem billigen Webspace eine Art zentralen Server (Tracker) zu implementieren, skaliert wahrscheinlich schon problemlos bis auf viele 100 Hosts, die gleichzeitig angemeldet sind, solange nicht alle versuchen, sich gleichzeitig an- oder abzumelden.
Von einem V-Server würde ich dir wahrscheinlich sogar eher abraten, um so einen aufzusetzen, brauchst du in jedem Fall Linux-Kenntnisse.
-
Ich kann halt kein PHP. Weder Zugriffe C++ <-> PHP noch PHP <-> MySQL .
Außerdem müsste man die Skripte doch auf dem Server "laufen" lassen, oder nicht ?Kann man sich nicht anders die IP schicken, halt automatisch ?
-
DarkShadow44 schrieb:
Ich kann halt kein PHP. Weder Zugriffe C++ <-> PHP noch PHP <-> MySQL .
Zugriff C++ <-> PHP ist nicht so schwer, weil das nur eine HTTP-Anfrage ist, wofür es z.B. libcurl gibt.
PHP programmieren müsstest du dann lernen. Wenn du schon C++ programmieren kannst, sollte das aber nicht sonderlich schwierig sein. Etwas Zeit würde ich aber schon dafür einplanen, vor allem musst du dich unbedingt nach "SQL injection" erkundigen, bevor du solche php-Skripte schreibst. PHP lädt leider dazu ein, bestimmte Sicherheitslücken unabsichtlich zu öffnen.
DarkShadow44 schrieb:
Außerdem müsste man die Skripte doch auf dem Server "laufen" lassen, oder nicht ?
Ja, deswegen schrieb ich auch, du brauchst einen Server, auf dem du Skripte starten kannst. PHP-Skripte sollte aber nahezu jeder Webhost ausführen können.
DarkShadow44 schrieb:
Kann man sich nicht anders die IP schicken, halt automatisch ?
Nein, ein zentraler Server ist (würde ich sagen) das einfachste, was man dafür nehmen kann.
-
Gibts keine vorgefertigten PHP-Skripte dafür ?
Naja, wüstest du einen Webhost bei dem man sowas temporär (gratis) hochladen & testen kann, so ne Art "gesicherte Umgebung" ? Möglichst ohne Registrierung...
So was wäre toll zum Testen...
Also erstmal zum Testen; danach müsste ich noch einen finden, der Zugriffe Dritter erlaubt.
-
DarkShadow44 schrieb:
Gibts keine vorgefertigten PHP-Skripte dafür ?
Nicht dass ich wüsste, denn normalerweise schreibt man so einen Service nicht in PHP, denk ich.
DarkShadow44 schrieb:
Naja, wüstest du einen Webhost bei dem man sowas temporär (gratis) hochladen & testen kann, so ne Art "gesicherte Umgebung" ? Möglichst ohne Registrierung...
So was wäre toll zum Testen...
PHP/MySQL-Unterstützung ist so ziemlich der Standard bei günstigen Hosting-Angeboten. Ob und wo es sowas kostenlos gibt, weiß ich aber nicht.
Zugriffe Dritter sind bei jedem Webspace erlaubt, sonst wäre es kein "Webspace". Deine PHP-Skripte müssen sicherstellen, wer Zugriff erhält und wer nicht.
Achso, nur falls das nicht klar wurde: PHP-Skripte sind *nicht* die einzige Möglichkeit. Es gibt noch viele, viele andere Möglichkeiten. Nur praktisch alle realisierbaren Möglichkeiten setzen einen zentralen, bekannten Server voraus.
Ich habe nur PHP-Skripte genannt, weil die bei nahezu jedem Webhoster ausgeführt werden können und dir damit nur geringe (wenn überhaupt) Kosten entstehen.
-
Mir fällt da auf Anhieb grad nur ohost als kostenloser PHP Hoster ein. Weiß aber nicht inwiefern sich die Nutzung mit deren Regeln beißt. Ansonsten gäbe es auch noch google appengine, da gibt es zwar kein PHP aber dafür Python und Java.
Und so ungewöhnlich finde ich das gar nicht dafür einen Webserver zu nutzen. Eine extra Serveranwendung die nur diese Liste verwaltet wäre da eher übertrieben. Viele Highscore Systeme dürften ein ähnliches Prinzip nutzen. Vor allem geht das beim Client durch die Firewall falls das abrufen von Internetseiten erlaubt ist.
-
Zugriffe Dritter sind bei jedem Webspace erlaubt
Nicht unbedingt, manche dürfen nur privat genutzt werden. Ich bräuchte aber was öffentliches.
Dürfte außerdem einiges an Traffic geben....
Könntest du mir ein kurzes Beispiel geben zu C++ <-> PHP ?
Und wie kann ich das PHP-Dokument dann hochladen und "aktivieren" ?
Gibt es für sowas eine "Übungsumgebung" ?So was hab ich noch nie gemacht....
-
DarkShadow44 schrieb:
Zugriffe Dritter sind bei jedem Webspace erlaubt
Nicht unbedingt, manche dürfen nur privat genutzt werden. Ich bräuchte aber was öffentliches.
Das nennt man dann aber normalerweise nicht Webspace, sondern Storage oder ähnlich.
Speicherplatz, den du nur privat nutzen darfst, das verhält sich im Grunde ja nicht anderes als eine externe Festplatte: Nur du kannst darauf zugreifen, sonst niemand. Webspace nennt man das normalerweise nur, wenn auch andere Leute die Daten abrufen können.DarkShadow44 schrieb:
Dürfte außerdem einiges an Traffic geben....
Wenn du mit viel Traffic rechnest, kannst du kostenlose Angebote gleich vergessen.
DarkShadow44 schrieb:
Könntest du mir ein kurzes Beispiel geben zu C++ <-> PHP ?
In einer anderen Sprache als C++ wäre das sicherlich einfacher, aber in C++ könntest du z.B. libcurl benutzen.
DarkShadow44 schrieb:
Und wie kann ich das PHP-Dokument dann hochladen und "aktivieren" ?
Die PHP-Dateien sind fest. Alles, was das C++-Programm macht, ist eine URL aufrufen. Hinter dieser URL steckt das PHP-Skript, das dann die benötigte Arbeit macht (z.B. die gerade gelesene IP in eine Datenbank als "bekannter Host" eintragen).
DarkShadow44 schrieb:
Gibt es für sowas eine "Übungsumgebung" ?
-
struct _sql_info { char IP[16]; char stringS[3][20]; char stringM[3][50]; char stringL[100]; int ints[20]; bool bools[30]; bool used; //nur intern, nicht exportieren };
Diese Struct verwende ich.
Je mehr Host ich allerdings habe, desto größer ist der Traffic für jeden Client, oder nicht ?
Was zählt den als Traffic: PHP <-> MySQL oder C++ <-> PHP oder beides ?Vielleicht könnte ich ja die Anzahl der Hosts per PHP limitieren...
Könnte PHP auch "tote" Hosts löschen ?Sorry schon mal für die vielen Fragen...
Wie viel Traffic ist den durchschnittlich erlaubt ?
Außerdem ist halt das Problem, dass der User durch meinen C++ Zugriff keine Werbung sieht
Darum wollen Gratisanbieter sowas ja eher nicht.EDIT: d.h. dass PHP zu MySQL und C++ zu PHP sehr wahrscheinlich geht ?
Aber wie starte ich das PHP-Skript (für den user unsichtbar), und wie kommunizieren PHP und C++ ? Durch sockets ? Aber woran binde ich den Socket des PHP Skripts, es sollen ja mehrere gleichzeitige Zugriffe möglich sein.Bitte hilf mir
-
DarkShadow44 schrieb:
EDIT: d.h. dass PHP zu MySQL und C++ zu PHP sehr wahrscheinlich geht ?
Aber wie starte ich das PHP-Skript (für den user unsichtbar), und wie kommunizieren PHP und C++ ? Durch sockets ? Aber woran binde ich den Socket des PHP Skripts, es sollen ja mehrere gleichzeitige Zugriffe möglich sein.Das PHP Skript liegt auf dem Server. Wenn du nun aus deinem Programm zu dem Webserver verbindest und die entsprechende Seite abrufst bekommst du die Ausgabe des PHP Skripts gesendet. Zum Abrufen kannst du z.B. libcurl verwenden.
-
Aber WIE tauschen C++ und das PHP Skript Daten aus ??
-
DarkShadow44 schrieb:
Aber WIE tauschen C++ und das PHP Skript Daten aus ??
Über eine HTTP-Anfrage. Dafür kannst du z.B. libcurl verwenden.
-
Ich finde aber nur die Möglichkeit den Quelltext des Skripts runterzuladen.
PHP zu C++ erst recht nicht..
-
DarkShadow44 schrieb:
Ich finde aber nur die Möglichkeit den Quelltext des Skripts runterzuladen.
Dann ist der Server falsch konfiguriert und führt das PHP-Skript nicht aus.
Schau dir zum Beispiel die URL http://www.c-plusplus.net/forum/index.php an. Das ist ein PHP-Skript namens "index.php". Der Server schickt aber nicht den Quellcode, sondern führt das Skript aus. Der normale Nutzer sieht nicht, dass das ein PHP-Skript ist.
-
sprintf_s(url,"http://Dwww.example.de/index.php?data=abcdefghij"); hInetOpen = InternetOpen("FTP\n",INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); hInetUrl = InternetOpenUrl(hInetOpen, url, NULL,0,0,0); int bytes; char buffer[104]; while(!InternetReadFile(hInetUrl,buffer,104,(LPDWORD)&bytes));
Geht das etwa so ?
Wie kann ich dem Skript mit "?data=" Daten übertragen (und mit PHP auslesen) ?
Und wie warte ich so bis die Anwort kommt ?