Android 4.2.2 WebSocket [elengedve]

Fórumok

Egy (sok van) tablet gyári böngészőjén nem megy a websocket kapcsolat  ESP8266 AsyncWebServer könyvtárral. Nem akarok más böngészőt rakni, szeretném ha egy gyári alapra állítás után egyből lehetne használni. Ötlet? Ez a teszt html, újabb cuccokon jó.

<!DOCTYPE html>
<html>
  <body>

    <H1>LED CONTROLL</H1><br>
    <button type="button" onclick="websocket.send('LED(TOGGLE)@')">TOGGLE</button>
    <br>
    <H2 id="wsdata"></H2>

  <script>

    var port = "";
    if (window.location.port) {port = ":" + window.location.port;}
    var gateway = "ws://" + window.location.hostname + port + "/ws";
    var websocket = new WebSocket(gateway);
    websocket.onopen = onOpen;
    websocket.onclose = onClose;
    websocket.onmessage = onMessage;
    window.onunload = window.onbeforeunload = onExit;

    function onOpen() {
    //commands if open this page
      websocket.send( 'LED@' );
      }

    function onExit() {
    //commands if colose this page 
      }

    function onClose() {
    //commands if interrupt connection
      alert("Interrupt connection!");
      }

    function onMessage(event) {
    //commands if message received
      document.getElementById("wsdata").innerHTML = event.data;
      }

  </script>
  </body>
</html>

Hozzászólások

SSL van használva ?

Fedora 41, Thinkpad x280

4.x androidot el kell engedni, egy használhatatlan foshalmaz volt; hála isten azóta 11 főverzió kijött (nem véletlen kérdezte az SSL/TLS-t is a kolléga). Mielőtt ilyen hurr-durr kijelentést tesztel, azért sanity checknek megnézném egy másik böngészővel ugyanazon a vason, hogy android core probléma vagy böngésző-specifikus.

~ubuntu, raspbian, os x~

hála isten azóta 11 főverzió kijött

Ennek azért csak így magában még felesleges örülni. Android 9-10 óta nem sok olyan fejlesztés került bele, ami hiánya nagy szomorúság lenne a vásárlóknak. Persze alphabet gigaszám hányja bele a nekil fontos (telemetria, user-szokások bányászata, lehallgatós lehetőségek) szemetet, h. már annyi ideig bootol egy felsőkategóriás telefon is mint anno egy vista-s core2 duo.

Apakezdőőődik! :)

Tény: Használhatatlan, TÉNYLEG elavult, célhardvernek viszont tökéletes, Ingyen volt, ezért foglalkozok vele. Ha egy darab lenne belőle, nem érdekelne. Másik: Az EspOS cuccomat szeretném ha ilyen csak erre alkalmas szarokkal is működne.

Tény: Használhatatlan, TÉNYLEG elavult, célhardvernek viszont tökéletes, Ingyen volt, ezért foglalkozok vele.

Nem lenne az, ha a gyártók kötelezve lennének hosszútávú támogatásra. Amit már 20 éve meg kellett volna lépni a törvényhozásnak, legalább EU-s szinten.

Ha egy darab lenne belőle, nem érdekelne.

Mondta százmillió Android 4.2.2 eszköz tulajdonosa.

Az EspOS cuccomat szeretném ha ilyen csak erre alkalmas szarokkal is működne.

Ennek örülök.

Milyen exception/hiabüzenet van? Ez nagyon régi verzió, simán lehet, hogy nem támogatja a websocketet.

A chrome 15.0.874.120 csinálja ezt a hibát:  Unexpected response code: 400

A chrome 16.0.912.77 már jó. Ebből a fosból még a böngésző verzióját se lehetett megnézni, pécén végigpróbáltam 12-16 verziókat.

A 13-ban szerintem még nem is volt websocket.

ChatGPT

A websocket verzióiról dátummal mit tudsz?

A ChatGPT ezt mondta:

A WebSocket protokoll verziói és azok dátumai a következőképpen alakultak:

WebSocket Verziók és Dátumok

  1. Hixie 75 (2009. június)

    • Az egyik legelső verzió, amelyet az első WebSocket protokollkísérleteknél használtak.
  2. Hixie 76 (2010. április)

    • Kisebb módosításokat és biztonsági javításokat tartalmazott.
  3. HyBi 00–10 (2010–2011)

    • A „HyBi” (Hypertext-Bidirectional) munkacsoport fejlesztése volt, amely több változtatást is bevezetett.
    • A HyBi 10 változat már közel állt a végső verzióhoz.
  4. RFC 6455 – WebSocket 1.0 (2011. december)

    • Ez lett a végleges WebSocket protokoll, amelyet az IETF szabványosított.
    • Azóta is ez a legelterjedtebb verzió.

Az RFC 6455 (WebSocket 1.0) azóta is az ipari szabvány, és bár kisebb módosítások történtek az implementációkban, az alap protokoll nem változott jelentősen.

Ha újabb frissítések vagy verziók érdekelnek, szívesen utánanézek! 🚀

 

A régebbi Google Chrome verziók különböző WebSocket verziókat támogattak a fejlesztési fázisok alatt. Itt van egy áttekintés:

Chrome verziók és WebSocket támogatás

Chrome verzió WebSocket verzió Megjegyzés
4 – 5 Hixie 75 (2009) Első kísérleti támogatás, de nem alapértelmezett
6 – 13 Hixie 76 (2010) Alapértelmezett lett, de még nem végleges
14 – 16 HyBi 10–16 (2011) Átmeneti verziók, még változott a protokoll
17 – 19 HyBi 17 (2011 vége) Közeledett az RFC 6455-höz
20+ RFC 6455 (WebSocket 1.0) (2012-től) Végleges WebSocket protokoll támogatása

Megjegyzések:

  • A Chrome 14-től kezdve a WebSocket protokoll véglegesedett és kompatibilis lett az RFC 6455 verzióval.
  • Az ennél régebbi verziók (Hixie 75/76, HyBi korai verziók) ma már nem használhatók biztonságosan, mert a legtöbb szerver csak az RFC 6455-öt támogatja.
  • Ha nagyon régi Chrome verzióval dolgozol, akkor előfordulhat, hogy a WebSocket kapcsolat nem működik modern szerverekkel.

Ha pontos Chrome verzióhoz keresel WebSocket információt, szólj, és utánanézek! 🚀

Másik böngészővel próbáltad? Custom ROM van hozzájuk?

A tudomány és a hit vitája akkor eldőlt, amikor villámhárítót szereltek a templomokra.

Nem előremutató, hogy valami működőt lebutítunk azért, hogy menjen egy elavult cuccon is. Lehet, hogy abszolút nem is tud a böngésző websocket-et. Javascript konzolban mi van? Lefut egyáltalán a new WebSocket() ?

A tudomány és a hit vitája akkor eldőlt, amikor villámhárítót szereltek a templomokra.

Nem lebutítani akartam hanem visszamenőleg kompatibilissá tenni, de ez nekem mélyvíz, nem is ér annyi időt. Az onClose() függvény hívódik meg betöltés után, meg egy Unexpected response code: 400 hibát ad. Az esp nem lát csatlakozási próbálkozást.