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>
- 495 megtekintés
Hozzászólások
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~
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
ha valaha fejlesztettél androidra (én 2.4 óta), akkor érted miért írtam :)
~ubuntu, raspbian, os x~
- A hozzászóláshoz be kell jelentkezni
Nem fejlesztettem rá. Enduserként nem látom a hovahaladást, és vagyok egyre elégedetlebebb a cuccukkal.
- A hozzászóláshoz be kell jelentkezni
Van egy doboz ilyen tabom. Tudom hogy egy foshalmaz, de esp projektekhez kijelzőnek töléletes (lenne).
- A hozzászóláshoz be kell jelentkezni
Rendben, elengedjük™, ha az utódjai hajlandóak lesznek futni ugyanazon hardveren.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Milyen exception/hiabüzenet van? Ez nagyon régi verzió, simán lehet, hogy nem támogatja a websocketet.
- A hozzászóláshoz be kell jelentkezni
Az onClose fut le. Debugig nem jutottam ezzel a fossal.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
User Agent-et nem lehet lekérdezni? Az elvileg elárulja milyen verzió fut a böngészőből.
- A hozzászóláshoz be kell jelentkezni
Jó ötlet. Az eredmény Beszarás...
Mozilla/5.0(iPad;CPU OS 5_0_1 like Mac OS X)
AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1
Mobile/9A405 Safari/7534.48.3
- A hozzászóláshoz be kell jelentkezni
A 9A405 alapjan, ez nem is Android, hanem iOS 5, 2011-bol. A WebSocket mint dolog, ekkor meg nem is nagyon letezett.
- A hozzászóláshoz be kell jelentkezni
Hát ezt én is csak lesem. Android 4.2-ről volt eddig szó, ehhez képest a browser meg ipad-nek hazudja magát?
- A hozzászóláshoz be kell jelentkezni
Ez egy ócska kínai tablet, van belőle egy dobozzal. xTAB-70dci, Android 4.2.2, 2013.03.22 FW
- A hozzászóláshoz be kell jelentkezni
Ok, értem. Ezek szerint fullba kamuzik a useragent részen. Tracking-elni így biztos nem fogják tudni a használóját :)
- A hozzászóláshoz be kell jelentkezni
https://caniuse.com/mdn-api_websocket
Android gyári böngészőben 4.4-es verziótól érhető el a websocket.
- A hozzászóláshoz be kell jelentkezni
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
-
Hixie 75 (2009. június)
- Az egyik legelső verzió, amelyet az első WebSocket protokollkísérleteknél használtak.
-
Hixie 76 (2010. április)
- Kisebb módosításokat és biztonsági javításokat tartalmazott.
-
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.
-
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! 🚀
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Másik böngészőben jó. Azt szeretném ha ezek a szarok gyári állapotban működnének.
- A hozzászóláshoz be kell jelentkezni
Hát, én nem küzdenék az őscsótány default bongészővel.
A tudomány és a hit vitája akkor eldőlt, amikor villámhárítót szereltek a templomokra.
- A hozzászóláshoz be kell jelentkezni
Elengedtem. Az EspAsyncWebServer könyvtárat kéne átírni, ami meghaladja a jelenlegi tudásomat.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni