- LiFePO4 Speicher Test         
Seite 10 von 10 ErsteErste ... 8910
Ergebnis 91 bis 97 von 97

Thema: esp8266, Arduino IDE: neuer Versuch: warum wird website sofort beendet?

  1. #91
    HaWe
    Gast
    Anzeige

    Praxistest und DIY Projekte
    in welcher lib für welche Klasse?

  2. #92
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650

  3. #93
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    du gibst nur Methoden an,
    .args(): liefert Zahl der Parameter, im Query-String
    .argName(x): liefert den Namen des Arguments x, vom Query-String
    .arg(x): liefert den Parameter, des Arguments x, vom Query-String
    .arg(String name): liefert den Wert des Parameters name
    die sind aber gekapselt in Klassen.
    Es sind z.B. keine Methoden der String-Klasse und auch keine Methoden der WiFiClient -Klasse.
    Also wie heißt die Klasse dazu?


    oder, anders gefragt:
    wie willst du diese Funktionen nutzen, wenn du einen String erhalten hast über

    Code:
    WiFiClient client = wifiserver.available();
    ...
    while ( (readString.length() < TOKLEN) && (c != '\n') ) {
              readString += c;
              c = client.read();
          }
    ich verrate dir dazu so viel: Dies alles funktioniert nicht:

    Code:
    client.args(): liefert Zahl der Parameter, im Query-String
    client.argName(x): liefert den Namen des Arguments x, vom Query-String
    client.arg(x): liefert den Parameter, des Arguments x, vom Query-String
    client.arg(String name): liefert den Wert des Parameters name 
    
    // und ebensowenig:
    readString.args(): liefert Zahl der Parameter, im Query-String
    readString.argName(x): liefert den Namen des Arguments x, vom Query-String
    readString.arg(x): liefert den Parameter, des Arguments x, vom Query-String
    readString.arg(String name): liefert den Wert des Parameters name
    Code:
    Generating function prototypes...
    error: 'class WiFiClient' has no member named 'args'
    ...
    exit status 1
    'class WiFiClient' has no member named 'args'
    denn vermutlich sind es Methoden der ESP8266 webserver-Klasse (IIRC), die du gefunden hast, und das nützt uns hier in der WifiClient-Klasse oder der String-Klasse nichts.

    Also kannst du damit keinen String weiter verarbeiten, den ein WiFiClient erhalten hat, sondern nur einen, den ein ESP8266 webserver erhalten hat
    - genau deswegen habe ich nämlich cstringarg() geschrieben

    PS: ich habe diese ESP8266 webserver-Methoden bei den esp-Leuten auch schon vor langer Zeit als Verbesserung für die webclient-Klasse als Erweiterung vorgeschlagen, aber sie haben es als nicht unterstützenswert abgelehnt.
    Genau das meint ich übrigens u.a. auch als ich schrieb: "komisch drauf".

  4. #94
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    DAs ist einer der GRünde warum ich mit den Methoden von den unterschiedlichen Libs eigentlich garnicht erst anfange wollte, wir werden hier zu Hardwarespezifisch und das sind alles irgendwie nur "proprietäre" Lösungen

    ICh bin auch nciht schlau geworden in welchem Modul aus welcher Version nur welche Implementation steckt, daher hatte ich auch einne externe Lib vorgeschlagen, auch wenn man die erst wieder einbinden muss, scheint sie zumindest gereift und stabil von dem was ich im Bugtracker lese
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #95
    HaWe
    Gast
    der Grund ist eigentlich eher, dass die esp Entwickler manche Methoden in manchen Klassen implementiert haben und in anderen nicht.
    Das hat nichts mit hardwarespezifisch zu tun, denn ALLES ist ja für ESP8266, nur einmal für die Kommunikation mit anderen esp (.args enthalten), und das andere mal für die Kommunikation mit selber aufgebauten html-websites (.args NICHT enthalten).
    Ähnliches gilt für den TextFinder, der nur *streams akzeptiert, aber keine Strings und keine cstrings.

    Meine cstringarg() Funktion samt ststrpos() ist ja nun quasi eine Funktion einer externen lib, nur ist sie offenbar in dieser Kürze und Würze noch nicht für Arduino-user allgemein verfügbar.

    Damit können wir dann aber auch dieses Thema schließen, denke ich.

  6. #96
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Hallo,

    ich wollte mich nicht wiederholen, was auch unnötig war, aber mach ich es - zu Lasten des Servers, auf dem das Forum sein Dasein fristet - eben nochmal:

    Zitat von Ceos
    der Wifiserver und der WifiESPServer und der ESP8266Server scheinen da wohl eine art Unterstützung zu haben, aber das waren sehr diffuse Diskussionen in englisch bei denen es nicht exakt um dein Problem ging, daher kann ichd a auch nichts genaueres dazu sagen, aber es hat mich auch stark gewundert dass man mit µPython-Flask so umfangreiche Unterstützung bekommt aber der Arduino WifiServer so spärlich bestückt ist





    Darauf schrieb ich:

    Die ESP8266WebServer-Klasse stellt bessere Methoden zur Verfügung, mit denen sich viele dieser Sachen erledigen lassen, wie Daten aus dem Header auslesen etc.. So weit ich - kurz überflogen - gesehen habe, ist dort einiges enthalten, um das Handling mit Webseiten zu vereinfachen.
    Nach einem kurzen Einwand HaWe's schrieb ich dann:

    .args(): liefert Zahl der Parameter, im Query-String
    .argName(x): liefert den Namen des Arguments x, vom Query-String
    .arg(x): liefert den Parameter, des Arguments x, vom Query-String

    .arg(String name): liefert den Wert des Parameters name

    Wir führen doch eine Diskussion(?). Mit "verstehe ich nicht" meinerseits war gemeint, dass ich nicht verstehe, warum man sich nicht erinnern kann, was zwei/drei Sätze vorher gesagt / geschrieben wurde; es könnte auch nachgelesen werden; obwohl ich es nochmals verlinkt habe, wo die Antwort zu finden ist, wird es trotzdem nicht gelesen. - Macht nichts!



    Bin auch nur drauf gestoßen, weil ich mich gerade mal etwas näher damit befasse.



    MfG

    - - - Aktualisiert - - -

    Bevor es jetzt noch absurder wird, bin ich mal raus aus dem Thread.
    Geändert von Moppi (26.10.2019 um 21:55 Uhr)

  7. #97
    HaWe
    Gast
    ach so, das mit den "besseren Funktionen" war nur ganz allgemein auf andere esp Libs bezogen - das hatte ich nicht verstanden.
    Ja, das stimmt.
    Ich dachte, es war gemeint in Bezug auf den WiFiClient Code aus dem TOP, quasi als Lösung, um dessen Funktionen zu ersetzen
    - aber darauf kann man seine Methoden ja nicht anwenden, und daher meine Antwort, dass es nicht ginge
    - aber das war ja dann auch genau das, was du ebenfalls meintest.

Seite 10 von 10 ErsteErste ... 8910

Ähnliche Themen

  1. arduino ide mit esp8266
    Von NotEvil im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 4
    Letzter Beitrag: 12.01.2017, 15:17
  2. Raspberry Pi 3: Neuer Bastelrechner ist ab sofort verfügbar
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 4
    Letzter Beitrag: 29.02.2016, 21:56
  3. [ERLEDIGT] Google wird am Lenovo-Tablet ohne Zutun beendet
    Von oberallgeier im Forum Offtopic und Community Tratsch
    Antworten: 5
    Letzter Beitrag: 24.11.2015, 09:02
  4. Funktion wird nicht richtig beendet
    Von kowolfgang im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 31.12.2008, 17:37
  5. schieberegister neuer versuch...
    Von Bluesmash im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 11.07.2005, 22:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen