OK díky jdu to hned vyzkoušet.
FW 28.2.2023 je OK, teď zkouším 6.6.2023 a ten má specifickou vlastnost, která není zohledněna ve vzorové EXE aplikaci.
Jde o to, že vlivem změny ve FW (která ale bude opravena), nelze poslat celý obsah [2] v jednom společném TCP paketu, ale musí to být rozděleno na dva.
Jakmile se to rozdělí, tak vše funguje.
Tedy, v originále, se v kroku [2] poslalo toto vše najednou:
[2] send POST header + command name in URI
POST /command HTTP/1.1<cr><nl>
Host: 192.168.4.250<cr><nl>
Content-Length: 12<cr><nl>
<cr><nl>
NoncePlease<cr><nl>
Pro FW 6.6.2023 je to potřeba "rozdělit", tedy poslat ve dvou oddělených paketech:
První paket:
POST /command HTTP/1.1<cr><nl>
Host: 192.168.4.250<cr><nl>
Content-Length: 12<cr><nl>
<cr><nl>
A druhý samostatný paket, poslaný z klienta do SDS hned za tím prvním:
V rámci ukázkové aplikace stačí rozděli zápis do socketu na dvě volání (nejprve volat Write pro první část, chvíli počkat, a pak volat Write pro druhou část, a až pak číst tak jak je v původním ukázkovém kódu).
Z principu má být FW má být udělán tak, aby se to rozdělovat nemuselo, a aby tedy uměl jak nerozdělenou variantu, tak rozdělenou.
To, že FW 6.6.2023 neumí nerozdělenou variantu, bude v novém FW opraveno. Předchozí FW uměl obojí, v tomto FW se schopnost zpracovat sloučený požadavek ztratila (vlivem přidání nové funkce bez regresního testu této specifické záležitosti), a v novém FW to bude zase opraveno.
Pokud svou klientskou část předěláte na rozdělený systém (dva pakety), bude to zpětně i dopředu kompatibiliní, proto to doporučím udělat, a tím to považovat (ze strany klientského SW) za vyřešené.
Za přidanou složitost se omlouvám.
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !