Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Web - Design/Server/App
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 12.08.2012, 15:37    Titel: Web - Design/Server/App Antworten mit Zitat

Ich wollte mich endlich mal wieder um meine Seite kümmern, dessen Basis erstmal eine Userdatenbank (mySQL) sein soll, da ich gerne Online Applikationen (Spiele) erstellen möchte...

Nun hab ich in allgemeinen keine grossen erfahrungen in der Webentwicklung, ein einfaches PHP+MySQL Login System hab ich bisher erstellen können und funktioniert im allgemeinen auch recht gut.

Allerdings möchte ich nach möglichkeit alles in einer Sprache entwickeln was es mir letzlich vermutlich einfacher macht...

Die Frage nur ist was man nehmen kann/sollte?

PHP+mySQL ist relativ einfach zu handhaben und PHP dürfte vermutlich auch für kleinere
Clientbasierte Apps als Server gute Dienste verrichten?!

Wie sieht es aber aus wenn mehrere hundert per php gleichzeitig auf eine Datenbank zugreifen möchten?!

Wie sehen die Alternativen Java,JS und vorallem Python aus?

Mit Python als Sprache hab ich schon minimale erfahrungen gemacht und meine es ist relativ einfach
für mich zu erlernen, da ich nun gelesen habe das man mit Python auch Webapps erstellen kann würde
mich interessieren wie ich Python im Web nutzen kann und was ich dafür benötige (ich kann wohl kaum einfach eine index.py mit dem browser öffnen...)

Ein Projekt an dem ich schön länger arbeite soll ein Online Rollenspiel werden daher auch mein Interesse daran...
Was eignet sich am besten als Serversprache und wie sollte man die aufgabenverteilung angehen, so das alles nach möglichkeit immernoch reibungslos von statten geht wenn hunderte gleichzeitig auf die Serverapp und somit auf die Datenbank zugreifen?

Hat schon jemand erfahrungen oder Tipps wie und womit das ganze am besten anzugehen ist?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 12.08.2012, 18:08    Titel: Antworten mit Zitat

Statt PHP kannst Du auch Java in Form von Servlets verwenden bzw. deren Weiterentwicklungen JSP oder gar JSF. Grosser Vorteil: Es gibt für Java ausgereifte IDEs, z.B. Eclipse.

An und für sich kennt auch PHP in den neueren Versionen OO-Konzepte, sprich Klassen und all die Konzepte wie Vererbung, Kapselung usw. Nur ist mir dort bisher noch keine IDE bekannt, mit welcher grosse Codemengen vernünftig verwaltet werden können, so dass Dinge wie z.B. automatische Methodennamen-Komplettierung, Syntaxprüfung während der Eingabe usw. möglich sind.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 12.08.2012, 18:14    Titel: Antworten mit Zitat

Zitat:
Wie sieht es aber aus wenn mehrere hundert per php gleichzeitig auf eine Datenbank zugreifen möchten?!

Passiert in großen Foren laufend, stellt also kein übermäßig großes Problem dar. Hängt natürlich davon ab, wie viel Ressourcen du auf dem Server zur Verfügung gestellt bekommst (oder wie stark du mit anderen teilen musst); und das Design sollte natürlich auch so gestaltet sein, dass z. B. ein Seitenaufruf nicht zehn getrennte Datenbankabfragen durchführt. Möglicherweise kann man ja auch das ein oder andere cachen.

Der Vorteil an PHP ist, dass es "nahezu überall" zur Verfügung steht. Bei Python musst du schauen, ob dein Server das kann (oder hast du einen eigenen Server?) Es empfiehlt sich selbstverständlich, eine Sprache zu nehmen, die man einigermaßen beherrscht, um nicht überflüssige Sicherheitslücken einzubauen grinsen Was ansonsten die Sicherheit angeht, ist Python in der Vergangenheit unanfälliger gewesen als PHP; unabhängig von der Sprache empfiehlt sich eine intensive Beschäftigung mit den jeweiligen Sicherheitsthemen. All input data is evil.

Als Sprache ist Python vermutlich schöner als PHP (ich habe ein irrationale Abneigung gegen Python, aber tut hier nichts zur Sache). Auch ganz nett ist Ruby, das mit Ruby on Rails auch ein komplettes Framework zur Verfügung stellt. Mit Ruby on Rails habe ich allerdings keine Erfahrung. Und dann fällt mir noch der Klassiker Perl ein, aber den willst du vermutlich nicht verwenden ...

JS läuft client-seitig und hat damit einen ganz anderen Anwendungsbereich als die Serversprache. Lässt sich damit auch nicht mit einer Serversprache vergleichen. Auch bei Ajax z. B. läuft auf dem Client JavaScript, auf dem Server aber was ganz anderes (bitte korrigieren, wenn ich mich irren sollte).
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 13.08.2012, 09:25    Titel: Antworten mit Zitat

Da mir derzeit erstmal nur eine Subdomain auf einem VServer zur verfügung steht würde ich gern ausschliesslich auf dessen möglichkeiten zurückgreifen (Auch wenn ich sicherlich das eine oder andere nachinstallieren lassen könnte falls erforderlich)

PHP unterstützung ist auf jeden fall vorhanden und habe das eine oder andere test-script schon erstellt, funktioniert bisher ohne probleme...

Was ich jetzt über Ruby on Rails gelesen habe klingt sehr interessant, leider scheitert bei mir schon die installation, laut mehreren tutorials Ruby instalieren, Rails 'gem' istallieren und loslegen, leider will der bei mir ein paket nach dem anderen noch nachinstalliert haben, also bisher noch keine ahnung wie sich damit arbeiten lässt und auch nicht wie ich das auf den Server sowie auf meinem Apache localhost nutzen kann...

Also werde ich wohl doch erstmal bei PHP bleiben, dein einwand das in grossen Foren unmengen an zugriffen stattfinden klingt nachvollziehbar...

Im Moment hab ich leider schon probleme einen Anfang zu finden, kann das eine oder andere nicht richtig nachvollziehen und finde leider nur sehr wenig zu der thematik Software-Client <-> Web-Server

Ich wollte zum testen einfach mal ThePuppetMaster's TSNE nutzen, aber die beispiele laufen bei mir schon nicht korrekt...

Der Client_test startet, verbindet mit google, bekomme (den source?) die daten der seite, dann wird ordentlich disconnected und dann schmiert das programm ab...

Gleiches wenn ich mit localhost verbinde, allerdings bekomme ich nichtmal daten...

Versuche ich mit meinem Webspace zu connecten bekomme ich die fehlermeldung IPv6 wird nicht unterstützt...

nebenbei noch ein verständnissproblem... und zwar wann immer ich eine anfrage schicke muss ich auch einen header schicken, bei mehreren anfragen ist das doch eine ganze menge mehr oder weniger unnötiger daten ich ich über die leitung schicke, gibts da nicht die möglichkeit eine einmal verbindung wo ich den header im prinzip nur einmal schicken muss und anschliessend nur noch die 'anfragen' zum script?


Zitat:
Passiert in großen Foren laufend, stellt also kein übermäßig großes Problem dar. Hängt natürlich davon ab, wie viel Ressourcen du auf dem Server zur Verfügung gestellt bekommst (oder wie stark du mit anderen teilen musst); und das Design sollte natürlich auch so gestaltet sein, dass z. B. ein Seitenaufruf nicht zehn getrennte Datenbankabfragen durchführt. Möglicherweise kann man ja auch das ein oder andere cachen.


Ich hatte mir das ganze eigentlich in etwa so vorgestellt, allem vorran ein login der auf die 'allgemeine' userdatenbank zugreift, diese enthält dann für das jeweilige spiel eine userID welche dann für die datenbank des spiels genommen werden soll, so das also nur einmal der User bestätigt wird und dann zum script für das spiel mit der id 'weitergegeben' wird...

Leider finde ich mit google rein gar nichts brauchbares ob so ein PHP Script-Server sinnvoll oder überhaupt realisierbar ist...

Selbst bin ich mir leider auch nicht sicher...
Der Client muss daten schicken, das script muss diese verarbeiten, datenbank einträge aktualisieren, und an alle clients (die es betrifft) daten senden... (bsp. positionsdaten von spielern in der nähe...)
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.08.2012, 09:51    Titel: Antworten mit Zitat

Hallo!
Eternal_pain hat Folgendes geschrieben:
Die Frage nur ist was man nehmen kann/sollte? ... PHP+mySQL

Die beste Webapplikation (und natürlich deine Lieblingswebsite!!! Ja! ), nämlich FreeBASIC-Portal.de, ist auch mit php entwickelt. zwinkern

Eternal_pain hat Folgendes geschrieben:
Wie sieht es aber aus wenn mehrere hundert per php gleichzeitig auf eine Datenbank zugreifen möchten?!

Mit den richtigen Servereinstellungen und ausreichender Hardware sollte das gehen. Probleme durch den gleichzeitigen Mehrfachzugriff auf die DB (-> concurrency issues) zu verhinden, ist aber typischerweise Aufgabe des (transaktionalen) RDBMS (-> ACID) und nicht von php bzw. deinem Skript.

Eternal_pain hat Folgendes geschrieben:
Versuche ich mit meinem Webspace zu connecten bekomme ich die fehlermeldung IPv6 wird nicht unterstützt...

Hast du als Host zufällig eine HTTP-URL angegeben? Statt "eternalpain.irgendeinhost.xy" vielleicht "http://eternalpain.irgendeinhost.xy/meinskript.php"? (Vielleicht wird das wegen des Doppelpunkts als IPv6-IP-Adresse erkannt.)
In die Host-Angabe gehört jedenfalls nur ein Hostname oder eine IPv4-IP-Adresse und keine HTTP-Adresse.
Die abgefragte Ressource (z. B. /meineskripte/zeighighscore.php auf dem Host www.eternalpain.irgendwer.xy) sendest du bei TSNE nur in der HTTP-Anfrage (Request). Die TSNE arbeitet auf dem Netzwerk-Protokoll-Stapel unterhalb der Anwendungsschicht und HTTP, das heißt, du musst deine HTTP-Anfrage selber zusammenbauen und die HTTP-Reponse umgekehrt auch selber auswerten.

Eternal_pain hat Folgendes geschrieben:
nebenbei noch ein verständnissproblem... und zwar wann immer ich eine anfrage schicke muss ich auch einen header schicken, bei mehreren anfragen ist das doch eine ganze menge mehr oder weniger unnötiger daten ich ich über die leitung schicke, gibts da nicht die möglichkeit eine einmal verbindung wo ich den header im prinzip nur einmal schicken muss und anschliessend nur noch die 'anfragen' zum script?

Es gibt im HTTP-Protokoll (über das die Kommunikation ja ablaufen muss, wenn du eine Standard-php-Hosting-Umgebung als Backend möchtest) mit keep-alive zwar eine Möglichkeit, eine Verbindung für mehrere Requests offenzuhalten, aber das muss man im Einzelfall abwiegen, ob und für wie lange es Sinn macht. Alle paar Sekunden eine neue Verbindung aufzubauen, ist nämlich an sich auch kein Problem. Das kann sogar besser sein, als Verbindungen länger offen zu halten und so Ressourcen serverseitig zu binden, ohne sie zu nutzen. Siehe zum Thema: http://en.wikipedia.org/wiki/HTTP_persistent_connection

Eternal_pain hat Folgendes geschrieben:
Leider finde ich mit google rein gar nichts brauchbares ob so ein PHP Script-Server sinnvoll oder überhaupt realisierbar ist...

Realisierbar ist es. Für irgendwelche REST-APIs u. ä. kann man php sehr leicht benutzen. zwinkern

Das Problem ist bei sowas nur, dass die Kommunikation zwischen Client und serverseitigem Skript leicht manipulierbar ist. Das heißt, wenn deine Clientsoftware einen Highscore-Eintrag absetzen kann, indem sie via HTTP-POST ein paar Variablen übermittelt, kann das der User natürlich auch selber tun, beispielsweise mit cURL.
Du kannst serverseitig also nicht wissen: Ist es die Clientsoftware, die mir die Anfrage schickt, oder wird sie von einem Nutzer manuell oder mit einem anderen Tool gefälscht?
So ließe sich zum Beispiel eine serverseitige Highscore-Liste leicht vollspammen und ruinieren, wenn die User darauf kommen, wie die Kommunikation zwischen Client und Server da abläuft.

HTTPS kann wenigstens gegen das offene Mitlesen des Traffics helfen, aber ein wirklicher Schutz ist es auch nicht, da man ja in deinem Programm die entsprechenden Stellen heraussuchen und das Protokoll dann nachbilden kann. Und für HTTPS würde dir die TSNE nicht ausreichen. Da müsstest du schon eine fertige Lib verwenden; sonst wird das zu kompliziert.

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 13.08.2012, 11:15    Titel: Antworten mit Zitat

Eternal_pain hat Folgendes geschrieben:
Der Client_test startet, verbindet mit google, bekomme (den source?) die daten der seite, dann wird ordentlich disconnected und dann schmiert das programm ab...

Schmiert es wirklich ab, oder wird es beendet (End 0)?

Wenns abkracht, kannst du (wenn verfügbar) mal ein "Valgrind" log posten/pasten?


HTTPS wollte ich mal integrieren, aber der aufwand ist so hoch, das es mit ein paar modulen nicht getan wäre. Daher hab ich das gelassen.


Eternal_pain hat Folgendes geschrieben:
Versuche ich mit meinem Webspace zu connecten bekomme ich die fehlermeldung IPv6 wird nicht unterstützt...

Wenn du, wie schon sebastian geschrieben hat, in der Host Adresse einen ":" schreibst, wird es von TSNE als IPV6 adresse erkannt. Daher kommt diese Fehlermeldung bei TSNE heraus.


Das HTTP Protokoll musst du in der Tat von hand umsetzen. (Siehe test_server.bas und test_client)

Dies sind minimale aufbauten für den Client und den Server.

allerdings ist TSNE nicht wirlich geeignet, um "webgames" zu realisieren. Das macht ja man typischer weise mit einem Webbrowser und einem PHP / JAVA / ... geservere.

TSNE ist mehr die Native schicht, um anwendungen Netzwerkfähig zu machen. Einen Gameserver zu schreiben, der expliziet mit einem Game-App komuniziert, mit einem frei definierbarem Protokoll, welches auch selbst entwickelt, bzw. ein fertiges integriert werden muss.

Alternative: TSNEplay um sich das Protokoll gedingse zu spaaren.


Bezüglich Spieledesign und hackbarkeit:
Ich würde dir empfehlen das Spiel auf der Clientseite eher als Grafische Darstellung des auf dem Server laufendem Spiels zu designen. Der Benutzer kann dann interaktionen ausführen, sieht die ergebnisse, und kann die Steuerung mithilfe des apps vornehmen.
Animationen und Soundausgaben werden alle vom Client ausgeführt.

Das eigentliche Spiel, bzw. der Chronologische verlauf dieses wird auf dem Server ausgeführt. Das ermöglichst dir als coder auch die Kontrolle über den Spielstand und die möglichkeit der hack-überwachung.

So ähnlich z.B. arbeitet auch Sokoban von mir. Der Benutzer kann das Spiel regulär spielen. Wird ein Abgleich mit dem Server vorgenommen, sendet der Client alle ereignisse welche der user ausgeführt hat an den server. der server hält selbst eine aktuelle Spiel-map offen, udn führt die einzelnen benutzer-schritte selbst zusätzlich aus. macht der benutzer etwas, das nicht möglich ist, bzw. nicht darf, erkennt es der server udn wertet dies als hackversuch.

der benutzer hat daraufhin keien möglichkeit einen Punktestand zu manipulieren, da dieser ausschliesslich auf dem server generiert und nicht von einem Clienten übertragen wird.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 13.08.2012, 11:36    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Eternal_pain hat Folgendes geschrieben:
Versuche ich mit meinem Webspace zu connecten bekomme ich die fehlermeldung IPv6 wird nicht unterstützt...

Hast du als Host zufällig eine HTTP-URL angegeben? Statt "eternalpain.irgendeinhost.xy" vielleicht "http://eternalpain.irgendeinhost.xy/meinskript.php"? (Vielleicht wird das wegen des Doppelpunkts als IPv6-IP-Adresse erkannt.)
In die Host-Angabe gehört jedenfalls nur ein Hostname oder eine IPv4-IP-Adresse und keine HTTP-Adresse.

Ergänzende Bemerkungen:
1.) Protokollversion wird bei Hostangabe immer automatisch gehandshaked, sobald der DNS-Server sowohl ein A- als auch AAAA-Record zurückliefert. Deswegen kommt jeder von Euch mit reinem klassischem IPv4-Internetanschluss weiterhin bei mir auf die Seite. Diese Eigenschaft ist auch zwingend nötig, damit der Wechsel von IPv4 nach IPv6 möglichst transparent aus Sicht des Endbenutzers erfolgen kann.

2.) Nackte IPv6-Adresse in URL ist auch möglich mit eckigen Klammern, z.B.
Code:
http://[2001:db8:1234:cafe::22]/verzeichnis/datei.htm

=> So kann der Browser immer noch klar zwischen Bestandteil IP-Adresse und Portangabe unterscheiden, weil es sonst nicht eindeutig wäre:
Code:
http://2001:db8:1234:cafe::22:5000/foo.php

(falsches Beispiel) Ist
Code:
http://[2001:db8:1234:cafe::22:5000]/foo.php

(IP-Adresse 2001:0db8:1234:cafe:0000:0000:0022:5000 und Port 80)
oder
Code:
http://[2001:db8:1234:cafe::22]:5000/foo.php

(IP-Adresse 2001:0db8:1234:cafe:0000:0000:0000:0022 und Port 5000)
gemeint?
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.08.2012, 11:43    Titel: Antworten mit Zitat

dreael hat Folgendes geschrieben:
1.) Protokollversion wird bei Hostangabe immer automatisch gehandshaked, [...]

2.) Nackte IPv6-Adresse in URL ist auch möglich mit eckigen Klammern

ThePuppetMasters Netzwerkbibliothek unterstützt bisher, soweit ich weiß, IPv6 überhaupt nicht, d. h. man kann weder eine IPv6-IP-Adresse direkt angeben (egal, ob mit eckigen Klammern oder ohne), noch einen Host verwenden, der nur zu einer IPv6-Adresse auflösbar ist.

@TPM: Hab ich das so richtig wiedergegeben? Und wenn ja, wie sehen die Planungen beim IPv6-Support aus? lächeln
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 13.08.2012, 11:52    Titel: Antworten mit Zitat

IPV6 ist schon in arbeit. es gab /gibt auch ne tsne-ipv6 version, die ich mal zum "testen" on gestellt hatte. aber da wenig reaktion udn bei mir kein ipv6 existiert, auser im lan, kann ich es nciht ausreichend testn.

Sobald ich meinen ipv6 zugang hab, werde ich daran weiter workeln.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 13.08.2012, 16:01    Titel: Antworten mit Zitat

Antwort auf ursprüngliche Frage:
Ich würde Python mit Django nehmen, dass ist sehr schnell, sauber und modular. Außerdem ist der Django-ORM sehr einfach zu bedienen und auch für komplexe Sachen gut nutzbar (=du brauchst dich selbst nicht mit MySQL oder SQL allgemein rumschlagen => Keine SQL-Injections per se, solange du nur den ORM nutzt).
Zur Perfomance: Mein kleines DMS (was ich eigentlich mal auf github stellen sollte) läuft in Pypy mit MySQL so schnell, dass es auf meinem Laptop kein Problem ist >500 Dokumente pro Sekunde auszuliefern. Darin sind mehrere DB-Zugriffe, relativ komplexes Templating und viel Traversing von Baumstrukturen drin.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 13.08.2012, 17:15    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:

Die beste Webapplikation (und natürlich deine Lieblingswebsite!!!), nämlich FreeBASIC-Portal.de, ist auch mit php entwickelt.


Für reine Web-Apps bzw. Seiten mit 'komplexeren' Inhalt ist PHP ohne zweifel eine tolle Sache. Mit dem was ich bisher gelesen und selbst schon probiert habe lassen sich tolle Sachen realisieren und für meine Webseite ansich werd ich das auch ganz sicher weiterverfolgen lächeln

Sebastian hat Folgendes geschrieben:

Hast du als Host zufällig eine HTTP-URL angegeben? Statt "eternalpain.irgendeinhost.xy" vielleicht "http://eternalpain.irgendeinhost.xy/meinskript.php"?


ThePuppetMaster hat Folgendes geschrieben:

Wenn du, wie schon sebastian geschrieben hat, in der Host Adresse einen ":" schreibst, wird es von TSNE als IPV6 adresse erkannt. Daher kommt diese Fehlermeldung bei TSNE heraus.


Ok, war mein Fehler, hab in der tat die gesamte Adresse inkl. http:// als Host angegeben, ohne verbindet er problemlos...

ThePuppetMaster hat Folgendes geschrieben:

Schmiert es wirklich ab, oder wird es beendet (End 0)?

Wenns abkracht, kannst du (wenn verfügbar) mal ein "Valgrind" log posten/pasten?


Es schmiert wirklich ab...
FBIDETemp.exe hat Folgendes geschrieben:

FBIDETEMP.exe funktioniert nicht mehr

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: FBIDETEMP.exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 502922cd
Fehlermodulname: StackHash_0a9e
Fehlermodulversion: 0.0.0.0
Fehlermodulzeitstempel: 00000000
Ausnahmecode: c0000005
Ausnahmeoffset: 616693e9
Betriebsystemversion: 6.1.7601.2.1.0.256.48
Gebietsschema-ID: 1031
Zusatzinformation 1: 0a9e
Zusatzinformation 2: 0a9e372d3b4ad19135b953a78882e789
Zusatzinformation 3: 0a9e
Zusatzinformation 4: 0a9e372d3b4ad19135b953a78882e789


könnte unter umständen allerdings auch daran liegen das ich noch eine der ersten git-builds von FBC 0.24 drauf habe... habe mir heute morgen noch eine aktuelle gezogen, aber nocht nicht darauf getestet

Sebastian hat Folgendes geschrieben:

Das Problem ist bei sowas nur, dass die Kommunikation zwischen Client und serverseitigem Skript leicht manipulierbar ist. Das heißt, wenn deine Clientsoftware einen Highscore-Eintrag absetzen kann, indem sie via HTTP-POST ein paar Variablen übermittelt, kann das der User natürlich auch selber tun, beispielsweise mit cURL.


Zwar gehe ich davon aus das sich hier ein paar sicherheits überprüfungen einbinden lassen, aber im allgemeinen stimmt es wohl, sehr sicher wäre das ganze nicht und das sollte es eigentlich schon sein...

ThePuppetMaster hat Folgendes geschrieben:

Bezüglich Spieledesign und hackbarkeit:
Ich würde dir empfehlen das Spiel auf der Clientseite eher als Grafische Darstellung des auf dem Server laufendem Spiels zu designen. Der Benutzer kann dann interaktionen ausführen, sieht die ergebnisse, und kann die Steuerung mithilfe des apps vornehmen.
Animationen und Soundausgaben werden alle vom Client ausgeführt.


So ähnlich hab ich das eigentlich auch geplant, der Client soll überwiegend für die Grafische Ausgabe
zuständig sein

28398 hat Folgendes geschrieben:

Antwort auf ursprüngliche Frage:
Ich würde Python mit Django nehmen,...


Auch von der Kombination hab ich schon das eine oder andere gelesen, leider nur sehr wenig darüber wie ich es denn am ende später tatsächlich über browser oder app 'ansprechen' kann, bzw. über die integration auf apache und meinem webspace ?!


Die ganze Thematik ist doch weit komplexer als ich anfangs dachte, ursprünglich wollte ich den Server selbst schreiben wovon ich allerdings dann aus mehreren gründen abgekommen bin, zum einen ist ein Server nicht mal eben nebenher geschrieben, 2. müsste der auf linux laufen (ich bin zu geizig mir ein Win-Server zu nehmen grinsen) und 3. ich bräuchte bereits zum testen eher früher als später einen eigenen (V)Server... daher dann die Idee das es eigentlich auch per 'Webmittel' möglich sein müsste...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.08.2012, 17:20    Titel: Antworten mit Zitat

Eternal_pain hat Folgendes geschrieben:
28398 hat Folgendes geschrieben:

Python mit Django


[...] bzw. über die integration auf apache und meinem webspace ?!


Im Shared-Hosting-Bereich hast du es mit php auf jeden Fall leichter. Das bekommt man praktisch "an jeder Ecke" sehr preisgünstig.
Je spezieller die Technologien sind, die du einsetzen möchtest, umso mehr läuft es auf einen eigenen Root- bzw. vServer hinaus => höhere Betriebskosten.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 13.08.2012, 19:02    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Eternal_pain hat Folgendes geschrieben:
28398 hat Folgendes geschrieben:

Python mit Django


[...] bzw. über die integration auf apache und meinem webspace ?!


Im Shared-Hosting-Bereich hast du es mit php auf jeden Fall leichter. Das bekommt man praktisch "an jeder Ecke" sehr preisgünstig.
Je spezieller die Technologien sind, die du einsetzen möchtest, umso mehr läuft es auf einen eigenen Root- bzw. vServer hinaus => höhere Betriebskosten.


Integration geht entweder über FastCGI oder mod_wsgi (oder so). Da ist nix spezielles dran... das funktioniert wie bei jedem anderen Application Server auch, du startest den Appserver meist via init o.ä. und der Webserver bekommt dann die FastCGI-Daten (üblich ist localhost:900x).

...was schon war ist: die meisten Webspace-Anbieter bieten nur PHP und CGI (was aus Nutzungssicht fast das gleich ist). Andererseits sind fast alle Webspace-Anbieter Kothaufen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.08.2012, 19:11    Titel: Antworten mit Zitat

28398 hat Folgendes geschrieben:
Integration geht entweder über FastCGI oder mod_wsgi (oder so). Da ist nix spezielles dran...


Wie man generell Support für diverse Skriptsprachen im Apache schafft, ist ja wahrscheinlich nicht das Problem. Gibt ja genügend Tutorials.

Für mich lasen sich die Postings bisher bloß so, dass EP gerne eher mit Standardwebspace auskommen möchte und nicht so richtig in die Linux-Server-Administration dafür einsteigen bzw. noch keinen eigenen Server möchte.

Eternal_Pain hat Folgendes geschrieben:
daher dann die Idee das es eigentlich auch per 'Webmittel' möglich sein müsste...

Eternal_Pain hat Folgendes geschrieben:
Da mir derzeit erstmal nur eine Subdomain auf einem VServer zur verfügung steht würde ich gern ausschliesslich auf dessen möglichkeiten zurückgreifen [...]
PHP unterstützung ist auf jeden fall vorhanden und habe das eine oder andere test-script schon erstellt, funktioniert bisher ohne probleme...


Was ich mit "speziell" meinte: Webhosting-Angebote mit LAMP (Linux/Apache/MySQL/PHP) findet man ja wie "Sand am Strand" zu äußerst günstigen Konditionen. Wenn du aber Ruby-/Python-/...-Hosting benötigst, wirst du da längst nicht so viele Angebote finden und erst recht nicht so günstig. Bliebe in dem Fall eigentlich nur ein eigener Server/vServer als sinnvolle Option.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 13.08.2012, 19:17    Titel: Antworten mit Zitat

Also ich hab mir grad bestätigen lassen das auf meinem zur verfügung gestellten Webspace sowohl Python als auch Ruby möglich sind
Nachrüsten geht allerdings nicht, ist ein VServer von hier: http://www.greatnet.de

Hättest Du evtl ein Tutorial Link wie ich Python für mich nutzbar machen kann?

Für Ruby wär auch toll, allerdings bekomme ich wie erwähnt noch nichtmal die grundinstallation richtig hin happy

Ich denke diese beiden eignen sich als Server-Sprache am besten
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 13.08.2012, 21:17    Titel: Antworten mit Zitat

Frag doch mal im Ruby-Forum nach. Da gibt es bestimmt welche, die helfen können.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 13.08.2012, 22:35    Titel: Antworten mit Zitat

Eternal_pain hat Folgendes geschrieben:
Also ich hab mir grad bestätigen lassen das auf meinem zur verfügung gestellten Webspace sowohl Python als auch Ruby möglich sind
Nachrüsten geht allerdings nicht, ist ein VServer von hier: http://www.greatnet.de


Du hast also einen vServer, wo du eh machen kannst was du willst. Ok.

Für Debian sieht das grob so aus... nginx als Webserver... Apache ist praktisch gleich

Code:
# apt-get nginx python python-setuptools
# easy_install django # Aktuelle Django-Version holen, die in den Repos ist veraltet


FastCGI-Einrichtung wird hier recht gut beschreiben: http://wiki.ubuntuusers.de/nginx#Python-mit-nginx
Allerdings sollte man nicht den Entwicklungsserver nutzen, der ist nicht sicher. manage.py runfcgi ist der korrekte Weg.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 14.08.2012, 04:10    Titel: Antworten mit Zitat

Nach anleitungen:
http://openbook.galileocomputing.de/python/python_kapitel_25_001.htm
http://www.sevenmicro.de/2011/12/wie-man-django-auf-windows-installiert/

Ich habe mir nun "python-2.7.2.msi" gedownloaded und installiert
Habe die setuptools für py2.7 ebenfalls geladen und installiert (easy_install wollte irgendwie nicht bei mir)
Daher habe ich Django-1.4.1 geladen und mit 'python setup.py install' installiert
Die Windows Umgebungsvariable habe ich "D:\Python27" hinzugefügt
(habe mir mySQL-python-1.2.3 auch geladen, aber bekomme bei der installation leider ein fehler)

soweit sogut, python ist installiert und funktioniert soweit (vermutlich?!)

Ich habe dann nach Anleitung von Galileo versucht eine erste Testapp zu erstellen
http://openbook.galileocomputing.de/python/python_kapitel_25_004.htm

wenn ich aber wie in der Anleitung beschrieben meine app hinzufügen möchte
Code:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'test1.meintest'
)


dann meldet er immer 'Error: No module named meintest'

komme also leider nicht darüber hinaus irgendwas zu testen...

ausserdem ist es für einen 'anfänger' in diesem Bereich echt schwierig irgendwas zu erstellen
es muss unglaublich viel irgendwo 'konfiguriert' werden
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 15.08.2012, 08:57    Titel: Antworten mit Zitat

Also irgendwie komme ich mit Django und Web2Py nicht wirklich zurecht, wobei mit Web2Py etwas einfacher...

Aber die ganzen (F)CGI schnittstellen sind irgendwie interessant, so kann man praktisch mit nahezu jeder Sprache (Freebasic und C(pp) eingeschlossen) Webanwendungen schreiben...

auch wenn mein Erfolgserlebnis sehr minimal ist

Code:

#include <stdio.h>

int main()
{
        printf("Content-Type: text/plain\n\n");

        printf("Hello world\n");
        return 0;
}


Macht wirklich was es soll, und zeigt mir Hello World im Browser lächeln

mit Fast_CGI klappt es leider noch nicht, weiss leider nicht genau woran es liegt.. ob ich es nicht richtig im Apache konfigriert habe oder ich eine bestimmte lib mit C(pp) dafür brauche...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 18.08.2012, 18:48    Titel: Antworten mit Zitat

Zu FastCGI ein Test-Beispiel von mir:

http://wwwtest1.meile.biz/fcgi-bin/fcgitest

Quelltext:
Code:
/* Einfacher FastCGI-Test mit suExec-Aspekt */
/* fcgi library; put it first*/
#include "fcgi_stdio.h"
#include <stdlib.h>
#include <unistd.h>

int z;

char *nullfrei(char *t) {
  return (t == 0 ? "&lt;Leer!&gt;" : t);
}

void main(void)
{
/* Initialization. */
  z=0;

/* Response loop. */
  while (FCGI_Accept() >= 0)   {
    z++;
    printf("Content-Type: text/html\r\n"
           "\r\n"

           "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"
           "<HTML lang=\"de\"><HEAD><META http-equiv=\"Content-Type\"\n"
           "content=\"text/html; charset=iso-8859-1\">\n"
           "<META name=\"Author\" content=\"Andreas Meile\">\n"
           "<TITLE>Test-FastCGI</TITLE></HEAD>\n"
           "<BODY><H1>Test-FastCGI</H1>\n"
           "<P>Hallo %s</P>\n"
           "<P>Dieses C-Programm l&auml;uft als folgender Linux-Benutzer:</P>\n"
           "<P>Reale User-ID: %d<BR>\n"
           "Effektive User-ID: %d<BR>\n"
           "Reale Gruppen-ID: %d<BR>\n"
           "Effektive Gruppen-ID: %d<BR>\n"
           "Benutzername: %s</P>\n"
           "<P>Z&auml;hler: %d</P>\n"
           "<P>Browser: %s</P>\n"
           "<HR>\n"
           "<P><A href=\"../index.html\">Zur&uuml;ck</A></P>\n"
           "<HR>\n"
           "<ADDRESS>&copy; 2011 by <A href=\"http://www.meile.biz/\">meile.biz IT\n"
           "solutions</A></ADDRESS></BODY></HTML>\n",
           nullfrei(getenv("REMOTE_ADDR")), getuid(), geteuid(), getgid(), getegid(),
           nullfrei(getlogin()), z, nullfrei(getenv("HTTP_USER_AGENT")));
  }
}

Damit jeder klar weiss, worin sich FastCGI gegenüber herkömmlichem CGI-BIN unterscheidet: CGI-Programm besitzt Schleifenstruktur wie ein Dienst, so dass der vom Apache gestartete CGI-Prozess anschliessend stehen bleibt, d.h. mit "ps" sehe also bei mir auf dem Webserver ein
Code:
www-data  1808  0.0  0.1   1896   588 ?        S    19:38   0:00 /home/dreael/wwwtest1.meile.biz/fcgi-bin/fcgitest

welches erst nach einem "apachectl stop" wieder beendet wird. Vorteil: Webserver muss nicht mehr für jeden HTTP-Request einen neuen Kindprozess temporär erzeugen, sondern kann diesen Prozess "recyclen". Primär lohnt sich FastCGI für stark frequentierte Websites, um Kernelressourcen mit ständigem Prozess erzeugen und löschen zu sparen.

Übrigens lässt sich dieses Beispiel prinzipiell auch mit FreeBasic schreiben, man muss nur auf dieses fcgi_stdio.h zurückgreifen können (Bibliothek), mit ENVIRON$() kommt man bekanntlich auf all die üblichen CGI-Umgebungsvariablen und PRINT generiert ja meines Wissens bei Konsolenprogrammen normalen stdout.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz