WiFLY RN171 als Webserver

OP #3691170
Lesenswert?
• ▲
▼
Hi,
ich versuche mich gerade an einem WiFLY RN171.
Programmiert in C18 auf einem PIC 18F27J13
Initialisierung, WLan Anbindung usw. funktioniert allles.
Jetzt möchte ich einen kleinen Webserver darauf betreiben.
Also TCP Mode eingeschaltet, Konnectionmeldungen raus.
Grüne LED blinkt langsam, hat also Verbindung.

Erhalte ich eine einkommende Anfrage "get..."
dann gebe ich folgendes aus:

writeRomText("HTTP/1.1 200 OK\r\n");
writeRomText("Content-Type: text/html\r\n");
writeRomText("\r\n");
writeRomText("<html><body>Hallo Welt</body></html>\r\n");
writeRomText("\r\n\r\n");

Die grüne LED leuchtet dauerhaft, es besteht also eine Verbindung.
Diese bleibt aber bestehen, der Webserver wartet weiterhin auf Daten ? 
nichts passiert.
Beende ich die Verbindung im Browser fängt die LED wieder an zu blinken.
Mache ich das mehrfach erhalte ich mit etwas Glück doch die Daten 
angezeigt.
Was habe ich getestet, aber keine spürbare Veränderung:
- nach der Ausgabe von oben (+ Wartezeit 500ms) in den Command Mode 
gewechselt und mit close die Verbindung beendet, mit exit wieder raus 
aus dem Commandmode
- set comm idle auf 1 bzw 2 Sekunden (default unendlich)
- Content length in den Header eingebaut und ausgerechnet, hat aber auch 
nur leidlich funktioniert, wollte darauf aber verzichten

Alles hat nicht geholfen, entweder sagt der Browser dann gleich das der 
Server die Verbindung beendet hat oder Ergebnis wie oben.
In diversen Publikationen wird meist Arduino verwendet und dort, wie ich 
es herausgelesen habe, auch nur die Verbindung gekappt.

Bin gerade mit meinem Latein am Ende, hat jemand eine Idee ?
Holger
OP #3691505
Lesenswert?
• ▲
▼
Ich hab jetzt mal chunked getestet.
Es geht genau einmal, weitere Anfragen werden nicht mehr beantwortet und 
die Verbindung bleibt stehen.

writeRomText("HTTP/1.1 200 OK \r\n");
writeRomText("Transfer-Encoding: chunked \r\n");
writeRomText("\r\n");
writeRomText("0a;\r\n");
writeRomText("Hallo Welt\r\n");
writeRomText("0;\r\n");
writeRomText("\r\n");

Holger

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.