TCP Daten an Webserver Senden + Empfangen
Übersicht

Bobo2040Betreff: TCP Daten an Webserver Senden + Empfangen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi
Ich kenne BlitzBasic noch nicht so lange findes aber recht leicht... ;D Fast so leicht wie AutoIT^^ So und da hätte ich mal ne Frage und Zwar möchte ich fürs erste mal einen kleinen Chat machen der soll die Daten über den TCP - Server an ein PHP File auf meiner Domain schicken die datei sieht in etwa so aus: Code: [AUSKLAPPEN] <?php //Connecten if(isset($_GET['username']) { $username = //Escaped $_GET['username']; }else{ $UserErr = "Username zu kurz !"; } if(isset($_GET['text']) { $text = //Escaped %$_GET['text']; }else{ $textErr = "Nachricht zu kurz!"; } //Querys machen falls beide Gesetzt wurden ... // Falls nicht Fehler an Server zurücksenden So und da kommt jetzt mein Problem und zwar weiß ich nicht wie man Daten sendet/empfängt.. also ich weiß / denke mir das die Daten über GET gesendet werden... macht ja kein sinn die zu verstecken ^^ so und die daten würden dann ja denke ich mal inetwa so in den BB string reingemacht werden ? Code: [AUSKLAPPEN] print("Username:") Varusername = input$() print("Nachricht") Vartext = input$() ;Verbindung herstellen... ;.. dort irgendwo einfügen : ... username + Varusername&text + Vartext .. So das ist aber mehr oder weniger nur interpretiert... weiß jetzt nicht obs richtig ist... kann mir jemand vllt. nen link zu nem Tutorial oder so schicken wo sowas beschrieben ist ? Also Daten empfangen und Senden ? Mfg Bobo2040 |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein problem wurde schon mehrfach im Forum behandelt, ich kann nach kurzer Suche am ehesten dieses Thema empfehlen:
https://www.blitzforum.de/foru...hlight=php Dort ist ein ausführliches Tutorial in der ersten Antwort verlinkt. Ohne genauer zu lesen was so diskutiert wurde würde ich aber empfehlen, den Code von Chrise (2. Antwort) her zu nehmen. Da musst du erstens nicht ellenlang irgendwas über php lesen was du wohl eh schon weißt und hast beim HTTP-Request die (meiner Meinung nach) benötigte Host-Angabe dabei. Für alles weitere wäre dann die Dokumentation zu den TCP-Befehlen und ein wenig Kenntnis von HTTP (siehe Wikipedia) empfehlenswert. mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bobo2040 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay cool danke ![]() |
||
Bobo2040 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So ![]() Ich habe mich jetzt mal nen bisschen damit befasst *bisschen* Und bin nun auf ein Problem gestoßen und zwar möchte ich das permanent daten an die datenbank geschickt werden und das in einer while schleife ![]() Habes schon mit While probiert hat auch nichts genützt hier mal mein Code BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wo kommt die Variable Timer her? Ich seh nur, dass sie überprüft und ausgegeben wird, sie wird aber nie initialisiert oder verändert... | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
Bobo2040 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hatte ich vergessen hinzuzufügen habe nen bisschen rumgespielt ![]() und aber es geht trozdem nicht BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich gebe dir mal einen Tipp.
Bevor man ein Protokoll benutzt, sollte man dessen Funktionsweise kennen. Du benutzt hier HTTP, genauer genommen HTTP Version 1.0. Nun ist es so, das HTTP 1.0 nur eine Anfrage zulässt (danach wird die Verbindung getrennt). Wenn du nun also mehr Daten an den Server sendest, muss er es ignorieren, im normalfall wird die Verbindung nach dem Abarbeiten des Befehls vom Server sogar getrennt. Deine Möglichkeiten sind also folgende: 1. Du baust nach jeder Anfrage eine neue Verbindung auf, was aber (vorallem unter BB) nicht zu empfehlen ist. 2. Du verwendest HTTP 1.1 Solltest du dich für 2. entscheiden, kommen aber natürlich neue Herausforderungen auf dich zu, da dieses Protokoll auch wieder einiges an Richtlinien mit sich bringt. Code: [AUSKLAPPEN] - Host Header muss gegeben sein
- Connection Header muss gegeben sein Und natürlich kann der Server auch eine Aufrechterhaltung der Verbindung verneinen, und du musst für diesen Fall auch gerüstet sein. Ich habe hier mal eine Funktion getippt, die das Übertragen der Daten auf den Server per HTTP/1.1 Protokollkonform übernimmt. (Beachte das ich schon sehr lang nichts mehr in BB geschrieben habe, und der Code so nicht zwangläufig funktioniert) Meine Bitte an dich: Übernehme diese Funktion nicht, sondern versuche sie selbst zu schreiben und daraus zu lernen. Und wenn du dabei bist kannst du dir auch noch diesen Wikipedia Artikel über das HTTP Protokoll ansehen, damit du ein paar Grundinformationen darüber erhälst. Ich möchte dir auch noch ans Herz legen, das du diese Idee mit einem MMO welches über PHP an eine Datenbank angeschlossen ist nochmal durch den Kopf gehen lässt, denn es hat seine Nachteile, die ich dir hier auch nocheinmal dalege. Code: [AUSKLAPPEN] - PHP kommuniziert über HTTP was eine riesige unnötige Netzlast erzeugt
- PHP ist von der Geschwindigkeit her vom HTTP Server abhängig, und ein dediziertes Serverprogramm ist deutlich Resourcensparender - Das HTTP Protokoll ist nicht für diese Verwendung ausgerichtet - Modere Webserver sperren den Zugriff bei zuviel Anfragen da von einem DoS Angriff ausgegangen wird BlitzBasic: [AUSKLAPPEN]
|
||
It's done when it's done. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group