{"id":2221,"date":"2025-02-19T23:00:03","date_gmt":"2025-02-19T23:00:03","guid":{"rendered":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/"},"modified":"2025-02-19T23:00:03","modified_gmt":"2025-02-19T23:00:03","slug":"pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms","status":"publish","type":"post","link":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/","title":{"rendered":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><span data-contrast=\"none\">Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. <\/span><\/p>\n<p><span data-contrast=\"none\">\u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">\u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes kurti dinami\u0161k\u0105 ir \u012ftraukian\u010di\u0105 vartotoj\u0173 patirt\u012f. <\/span><\/p>\n<p><span data-contrast=\"none\">\u0160iame tinklara\u0161tyje mes i\u0161tirsime, kaip nustatyti ir naudoti \u201eWebSockets\u201c <strong>Plekni\u0173 program\u0173 k\u016brimas<\/strong>nuo ry\u0161i\u0173 u\u017emezgimo iki duomen\u0173 sraut\u0173 tvarkymo ir j\u016bs\u0173 programos u\u017etikrinimo, kad j\u016bs\u0173 programa i\u0161liks reaguojanti ir atnaujinama.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Turinys:<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Supratimas_apie_ziniatinklio_rinkinius\" >Supratimas apie \u017einiatinklio rinkinius<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Kas_yra_%E2%80%9EWebSockets%E2%80%9C\" >Kas yra \u201eWebSockets\u201c?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#%E2%80%9EWebSockets%E2%80%9C_pranasumai\" >\u201eWebSockets\u201c prana\u0161umai:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Naudokite_atvejus_plazdedami\" >Naudokite atvejus plazd\u0117dami:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#%E2%80%9EWebSocket%E2%80%9C_nustatymas_%E2%80%9EFlutter%E2%80%9C_programu_kurime\" >\u201eWebSocket\u201c nustatymas \u201eFlutter\u201c program\u0173 k\u016brime<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Butinos_salygos\" >B\u016btinos s\u0105lygos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Pridedant_priklausomybes\" >Pridedant priklausomybes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Kliento_puses_kodo_nustatymas\" >Kliento pus\u0117s kodo nustatymas<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Kodo_paaiskinimas\" >Kodo paai\u0161kinimas:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Duomenu_srautu_tvarkymas_plazdejimo_valdikliuose\" >Duomen\u0173 sraut\u0173 tvarkymas plazd\u0117jimo valdikliuose<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Kodo_paaiskinimas-2\" >Kodo paai\u0161kinimas:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#%E2%80%9EWebSocket%E2%80%9C_rysiu_uztikrinimas\" >\u201eWebSocket\u201c ry\u0161i\u0173 u\u017etikrinimas<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Naudojant_wss_saugiems_rysiams\" >Naudojant wss: \/\/ saugiems ry\u0161iams<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Serverio_saugos_konfiguracijos\" >Serverio saugos konfig\u016bracijos<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Testavimas_ir_derinimas\" >Testavimas ir derinimas<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Naudojant_irankius_testavimui\" >Naudojant \u012frankius testavimui:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Derinimas_su_plazdejimu\" >Derinimas su plazd\u0117jimu:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Imituokite_scenarijus\" >Imituokite scenarijus:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#Isvada\" >I\u0161vada<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Supratimas_apie_ziniatinklio_rinkinius\"><\/span><span id=\"Understanding_WebSockets\"><b><span data-contrast=\"none\">Supratimas apie \u017einiatinklio rinkinius<\/span><\/b><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Kas_yra_%E2%80%9EWebSockets%E2%80%9C\"><\/span><span id=\"What_are_WebSockets\"><strong>Kas yra \u201eWebSockets\u201c? <\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">\u201eWebSockets\u201c yra komunikacijos protokolas, \u012fgalinantis realiojo laiko, dvikrypt\u012f kliento ir serverio ry\u0161\u012f su vienu nuolatiniu ry\u0161iu. <\/span><\/p>\n<p><span data-contrast=\"none\">Skirtingai nuo HTTP, kuri yra pagr\u012fsta u\u017eklaus\u0173 ir atsakym\u0173 metu ir baigiasi po kiekvienos s\u0105veikos, \u201eWebSockets\u201c lieka atviros, leid\u017eian\u010dios nuolat keistis duomenimis, nesukuriant ry\u0161io.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E2%80%9EWebSockets%E2%80%9C_pranasumai\"><\/span><span id=\"Advantages_of_WebSockets\"><strong>\u201eWebSockets\u201c prana\u0161umai: <\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Suma\u017eintas latentinis:<\/span><\/b><span data-contrast=\"none\">  Greitesnis duomen\u0173 perdavimas, nes ry\u0161ys i\u0161lieka atviras.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Nuolatinis ry\u0161ys:<\/span><\/b><span data-contrast=\"none\">  Nereikia pakartotinai i\u0161 naujo prisijungti prie nauj\u0173 duomen\u0173.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Efektyvus bendravimas: <\/span><\/b><span data-contrast=\"none\">Tinka realiojo laiko programoms, kuriose kei\u010diamasi dideliais duomenimis.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Naudokite_atvejus_plazdedami\"><\/span><span id=\"Use_Cases_in_Flutter\"><strong>Naudokite atvejus plazd\u0117dami: <\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Realaus laiko pokalbi\u0173 programos: <\/span><\/b><span data-contrast=\"none\">Momentinis prane\u0161imo pristatymas ir kvitas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Akcij\u0173 rinkos ar sporto atnaujinimai: <\/span><\/b><span data-contrast=\"none\">Tiesioginiai dinamini\u0173 duomen\u0173 atnaujinimai.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Keli\u0173 \u017eaid\u0117j\u0173 \u017eaidimai:<\/span><\/b><span data-contrast=\"none\">  Sinchronizuojant \u017eaidim\u0105 tarp \u017eaid\u0117j\u0173 realiuoju laiku.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <br \/><\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%E2%80%9EWebSocket%E2%80%9C_nustatymas_%E2%80%9EFlutter%E2%80%9C_programu_kurime\"><\/span><span id=\"Setting_Up_WebSocket_in_Flutter_App_Development\"><b><span data-contrast=\"none\">\u201eWebSocket\u201c nustatymas \u201eFlutter\u201c program\u0173 k\u016brime<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Butinos_salygos\"><\/span><span id=\"Prerequisites\"><b><span data-contrast=\"none\">B\u016btinos s\u0105lygos<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">Prie\u0161 pasinerdami \u012f \u201eWebSocket\u201c diegim\u0105, \u012fsitikinkite, kad turite:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ol>\n<li><span data-contrast=\"none\">Pagrindinis plazd\u0117jimo ir smiginio supratimas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<li><span data-contrast=\"none\">\u017dinios apie \u201eWebSocket\u201c serverio nustatym\u0105 naudojant \u201eBackend\u201c technologij\u0105, pavyzd\u017eiui, <strong>Node.js<\/strong>\u201ePython\u201c ar bet kuri \u017einiatinklio rinkinio palaikymo sistema. \u0160is serveris tvarkys gaunamus ry\u0161ius ir apdoros prane\u0161imus.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Pridedant_priklausomybes\"><\/span><span id=\"Adding_Dependencies\"><b><span data-contrast=\"none\">Pridedant priklausomybes<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">Mes naudosime \u201eWeb_Socket_Channel\u201c paket\u0105, kad naudotume \u017einiatinklio rinkinius plazdinime, supaprastindami \u201eWebSocket\u201c ry\u0161\u012f. Prid\u0117kite paket\u0105 prie savo <\/span><b><span data-contrast=\"none\">pubspec.yaml<\/span><\/b> <span data-contrast=\"none\">failas:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><b><span data-contrast=\"none\">priklausomyb\u0117s<\/span><\/b><span data-contrast=\"none\">:<\/span><br \/><span data-contrast=\"none\">  <\/span><b><span data-contrast=\"none\">Plok\u0161\u010diojimas<\/span><\/b><span data-contrast=\"none\">:<\/span><br \/><span data-contrast=\"none\">    <\/span><b><span data-contrast=\"none\">SDK<\/span><\/b><span data-contrast=\"none\">: Plok\u0161\u010diojimas<\/span><br \/><span data-contrast=\"none\">  <\/span><b><span data-contrast=\"none\">Web_Socket_Channel<\/span><\/b><span data-contrast=\"none\">: ^2.3.0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">Paleiskite \u201e\u201c<\/span><b><span data-contrast=\"none\">\u201eFlutter Pub\u201c<\/span><\/b><span data-contrast=\"none\">\u201eNor\u0117dami gauti priklausomybes.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">\u0160is paketas pateikia lengvai naudojam\u0105 API, skirt\u0105 \u201eWebSocket\u201c ry\u0161i\u0173 ir duomen\u0173 sraut\u0173 tvarkymui \u201eFlutter\u201c programose.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kliento_puses_kodo_nustatymas\"><\/span><span id=\"Setting_Up_the_Client-Side_Code\"><b><span data-contrast=\"none\">Kliento pus\u0117s kodo nustatymas                                      <\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">Nor\u0117dami \u012fdiegti \u201eWebSockets\u201c \u201eFlutter\u201c, turite u\u017emegzti ry\u0161\u012f, si\u0173sti prane\u0161imus ir klausytis atsakym\u0173. \u0160tai pavyzdys:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">\/\/main.dart<\/span><br \/><span data-contrast=\"none\">importuoti <\/span><b><span data-contrast=\"none\">\u201ePaketas: web_socket_channel\/web_socket_channel.dart\u201c<\/span><\/b><span data-contrast=\"none\">;<\/span><\/p>\n<p><b><span data-contrast=\"none\">tu\u0161tuma <\/span><\/b><span data-contrast=\"none\">pagrindinis () {<\/span><br \/><span data-contrast=\"none\">  <\/span><b><span data-contrast=\"none\">galutinis <\/span><\/b><span data-contrast=\"none\">kanalas = websocketchannel.connect (<\/span><br \/><span data-contrast=\"none\">    Uri.parse (<\/span><b><span data-contrast=\"none\">\u201eWSS: \/\/example.com\/socket\u201c<\/span><\/b><span data-contrast=\"none\">)<\/span><br \/><span data-contrast=\"none\">  );<\/span><\/p>\n<p><span data-contrast=\"none\">  kanalas.stream.listen ((prane\u0161imas) {<\/span><br \/><span data-contrast=\"none\">    spausdinti (<\/span><b><span data-contrast=\"none\">Gauta: <\/span><\/b><span data-contrast=\"none\">$ prane\u0161imas<\/span><b><span data-contrast=\"none\">\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">  });<\/span><\/p>\n<p><span data-contrast=\"none\">  kanalas.sink.add (<\/span><b><span data-contrast=\"none\">\u201eSveiki,\u201e WebSocket \u201c!\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<h4><span class=\"ez-toc-section\" id=\"Kodo_paaiskinimas\"><\/span><span id=\"Explanation_of_the_Code\"><b><span data-contrast=\"none\">Kodo paai\u0161kinimas:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><b><span data-contrast=\"none\">Importuokite \u201eWebSocketchannel\u201c paket\u0105<\/span><\/b><span data-contrast=\"none\">:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ol>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">Tai leid\u017eia naudoti \u201eWebSocket\u201c funkcijas savo programoje.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ol>\n<p><b><span data-contrast=\"none\">U\u017emegzkite ry\u0161\u012f:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">Websocketchannel.connect (Uri.parse (&#8216;wss: \/\/example.com\/socket&#8217;)): jungiama prie \u201eWebSocket\u201c serverio nurodytame URI. Pakeiskite &#8216;wss: \/\/example.com\/socket&#8217; savo \u201eWebSocket\u201c serverio URL.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"none\">Klausymasis prane\u0161im\u0173<\/span><\/b><span data-contrast=\"none\">:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">kanalas. \u0160iame pavyzdyje gautos \u017einut\u0117s yra atspausdintos konsol\u0117je.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"none\">Siun\u010diant prane\u0161imus<\/span><\/b><span data-contrast=\"none\">:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">kanalas.sink.add (&#8216;Sveiki, \u201eWebSocket!\u201c): Siun\u010dia prane\u0161im\u0105 \u201eWebSocket\u201c serveriui.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Duomenu_srautu_tvarkymas_plazdejimo_valdikliuose\"><\/span><span id=\"Handling_Data_Streams_in_Flutter_Widgets\"><b><span data-contrast=\"none\">Duomen\u0173 sraut\u0173 tvarkymas plazd\u0117jimo valdikliuose      <\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">Nor\u0117dami parodyti \u201eWebSocket\u201c prane\u0161imus savo programoje, naudokite \u201eFlutter&#8217;s\u201c <\/span><span data-contrast=\"none\">Srautas <\/span><span data-contrast=\"none\">valdiklis, kuris klausosi duomen\u0173 sraut\u0173 ir atitinkamai atnaujina vartotojo s\u0105saj\u0105.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">Srautas<\/span><span data-contrast=\"none\">(<\/span><br \/><span data-contrast=\"none\">  Srautas: kanalas.stream,<\/span><br \/><span data-contrast=\"none\">  statybininkas: (kontekstas, momentinis vaizdas) {<\/span><br \/><span data-contrast=\"none\">    <\/span><b><span data-contrast=\"none\">jei <\/span><\/b><span data-contrast=\"none\">(Snapshot.<\/span><b><span data-contrast=\"none\">Hasdata<\/span><\/b><span data-contrast=\"none\">) {{<\/span><br \/><span data-contrast=\"none\">      <\/span><b><span data-contrast=\"none\">gr\u012f\u017eti <\/span><\/b><span data-contrast=\"none\">Tekstas<\/span><span data-contrast=\"none\">(<\/span><b><span data-contrast=\"none\">Gauta: <\/span><\/b><span data-contrast=\"none\">$ {Snapshot.<\/span><b><span data-contrast=\"none\">duomenys<\/span><\/b><span data-contrast=\"none\">}<\/span><b><span data-contrast=\"none\">\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">    } <\/span><b><span data-contrast=\"none\">dar jei <\/span><\/b><span data-contrast=\"none\">(Snapshot.<\/span><b><span data-contrast=\"none\">haserror<\/span><\/b><span data-contrast=\"none\">) {{<\/span><br \/><span data-contrast=\"none\">      <\/span><b><span data-contrast=\"none\">gr\u012f\u017eti <\/span><\/b><span data-contrast=\"none\">Tekstas<\/span><span data-contrast=\"none\">(<\/span><b><span data-contrast=\"none\">&#8216;Klaida: <\/span><\/b><span data-contrast=\"none\">$ {Snapshot.<\/span><b><span data-contrast=\"none\">klaida<\/span><\/b><span data-contrast=\"none\">}<\/span><b><span data-contrast=\"none\">\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">    }<\/span><br \/><span data-contrast=\"none\">    <\/span><b><span data-contrast=\"none\">gr\u012f\u017eti <\/span><\/b><span data-contrast=\"none\">\u201eCircularProgressIndicator\u201c<\/span><span data-contrast=\"none\">();<\/span><br \/><span data-contrast=\"none\">  },<\/span><br \/><span data-contrast=\"none\">);<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<h4><span class=\"ez-toc-section\" id=\"Kodo_paaiskinimas-2\"><\/span><span id=\"Explanation_of_the_Code1\"><b><span data-contrast=\"none\">Kodo paai\u0161kinimas:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><b><span data-contrast=\"none\">Srauto ry\u0161ys:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">Srautas: kanalas.Sreitas<\/span><span data-contrast=\"none\">: Jungiasi <\/span><span data-contrast=\"none\">Srautas <\/span><span data-contrast=\"none\">\u012f <\/span><span data-contrast=\"none\">\u201eWebSocket\u201c<\/span><span data-contrast=\"none\">  Srautas klausytis gaunam\u0173 duomen\u0173.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"none\">Duomen\u0173 tvarkymas:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">\u201eSnapshot.hasdata\u201c<\/span><span data-contrast=\"none\">: <\/span><span data-contrast=\"none\">Patikrinkite, ar yra duomen\u0173. Jei taip, tai rodo<\/span> <span data-contrast=\"none\">prane\u0161imas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"none\">Snapshot.Haserror<\/span><span data-contrast=\"none\">: <\/span><span data-contrast=\"none\">Patikrinkite, ar sraute yra klaida, ir rodomas klaidos prane\u0161imas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"none\">Pakrovimo b\u016bsena:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:1,&quot;335559684&quot;:-1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(9675),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"none\">Pagal numatytuosius nustatymus, <\/span><span data-contrast=\"none\">\u201eCircularProgressIndicator\u201c ()<\/span> <span data-contrast=\"none\">parodytas tol, kol bus gauti duomenys arba \u012fvyks klaida.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%E2%80%9EWebSocket%E2%80%9C_rysiu_uztikrinimas\"><\/span><span id=\"Securing_WebSocket_Connections\"><b><span data-contrast=\"none\">\u201eWebSocket\u201c ry\u0161i\u0173 u\u017etikrinimas<\/span><\/b><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span data-contrast=\"none\">\u201eWebSocket\u201c jungtys, kaip ir bet koks tinklo ry\u0161ys, reikia apsaugoti, kad apsaugotum\u0117te duomenis ir u\u017ekirst\u0173 keli\u0105 neteis\u0117tai prieigai. \u0160tai kaip u\u017etikrinti saug\u0173 \u201eWebSocket\u201c diegim\u0105:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Naudojant_wss_saugiems_rysiams\"><\/span><span id=\"Using_wss_for_Secure_Connections\"><b><span data-contrast=\"none\">Naudojant wss: \/\/ saugiems ry\u0161iams<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">WSS: \/\/ protokolas yra saugus ws: \/\/, pana\u0161iai kaip HTTPS, yra HTTP.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">Jis u\u017e\u0161ifruoja \u201eWebSocket\u201c ry\u0161\u012f naudojant SSL\/TLS, u\u017etikrinant <strong>Duomen\u0173 vientisumas<\/strong> ir konfidencialumas perdavimo metu.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"none\">Visada naudokite WSS: \/\/ gamybos aplinkoje, ypa\u010d kai yra neskelbtin\u0173 duomen\u0173, toki\u0173 kaip vartotojo kredencialai, finansin\u0117s operacijos ar asmenin\u0117 informacija.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">\/*<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<p><b><span data-contrast=\"none\">galutinis <\/span><\/b><span data-contrast=\"none\">kanalas = websocketchannel.connect (<\/span><br \/><span data-contrast=\"none\">  Uri.<\/span><i><span data-contrast=\"none\">parse<\/span><\/i><span data-contrast=\"none\">(<\/span><b><span data-contrast=\"none\">\u201eWSS: \/\/secure-example.com\/socket\u201c<\/span><\/b><span data-contrast=\"none\">)<\/span><br \/><span data-contrast=\"none\">); <\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:360,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">*\/<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Serverio_saugos_konfiguracijos\"><\/span><span id=\"Server-Side_Security_Configurations\"><b><span data-contrast=\"none\">Serverio saugos konfig\u016bracijos<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span data-contrast=\"none\">\u012e savo \u201eWebSocket Connection\u201c u\u017eklausos antra\u0161tes klientai turi \u012ftraukti autentifikavimo \u017eenkl\u0105 (pvz., JWT) arba kaip u\u017eklausos parametr\u0105.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">Tai u\u017etikrina, kad tik \u012fgalioti vartotojai gali u\u017emegzti ry\u0161\u012f<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p>galutinis <strong>kanalas = websocketchannel.connect (Uri.Parse (&#8216;wss: \/\/secure-example.com\/socket? Token = yourAuthtoken&#8217;); <\/strong><\/p>\n<p><span data-contrast=\"none\">Konfig\u016bruokite \u201eWebSocket\u201c server\u012f naudodami galiojant\u012f SSL\/TLS sertifikat\u0105, kad \u012fgalintum\u0117te u\u017e\u0161ifruot\u0105 ry\u0161\u012f.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">\u012ediekite greit\u012f, ribojant\u012f, kad b\u016bt\u0173 i\u0161vengta paslaug\u0173 neigimo (DOS) atak\u0173, kurias sukelia per dideli ry\u0161io u\u017eklausos.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">Nustatykite tu\u0161\u010diosios eigos ar neaktyvi\u0173 ry\u0161i\u0173 skirtumus, kad suma\u017eintum\u0117te serverio apkrov\u0105 ir suma\u017eintum\u0117te rizik\u0105 i\u0161 apleist\u0173 sesij\u0173.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Kry\u017eminio kilm\u0117s i\u0161tekli\u0173 dalijimasis (CORS):<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">Apriboti leid\u017eiam\u0105 serverio kilm\u0119, kad b\u016bt\u0173 i\u0161vengta neteis\u0117tos prieigos i\u0161 nepatikim\u0173 \u0161altini\u0173<\/span><b><span data-contrast=\"none\">.<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Testavimas_ir_derinimas\"><\/span><span id=\"Testing_and_Debugging\"><b><span data-contrast=\"none\">Testavimas ir derinimas<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol start=\"1\">\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Naudojant_irankius_testavimui\"><\/span><span id=\"Using_Tools_for_Testing\"><b style=\"color: #464646; font-size: 26px;\"><span data-contrast=\"none\">Naudojant \u012frankius testavimui:<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ol>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Postmanas:<\/span><\/b><span data-contrast=\"none\">  I\u0161bandykite \u201eWebSocket\u201c ry\u0161ius, si\u0173sdami prane\u0161imus \u012f savo server\u012f ir steb\u0117dami atsakymus. \u201ePostman\u201c palaiko \u201eWebSocket\u201c testavim\u0105 pagal \u201enauj\u0105\u201c u\u017eklausos tip\u0105.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Nar\u0161ykl\u0117s k\u016br\u0117jo \u012frankiai:<\/span><\/b><span data-contrast=\"none\">  Naudokite <\/span><b><span data-contrast=\"none\">Tinklas<\/span><\/b><span data-contrast=\"none\">  Skirtukas K\u016br\u0117jo \u012frankiuose, skirtuose steb\u0117ti \u201eWebSocket\u201c r\u0117mus, prane\u0161imus ir ry\u0161io informacij\u0105 <strong>Plaudimo program\u0173 k\u016brimo paslaugos<\/strong>.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<ol start=\"2\">\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Derinimas_su_plazdejimu\"><\/span><span id=\"Debugging_in_Flutter\"><b><span data-contrast=\"none\">  Derinimas su plazd\u0117jimu:<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ol>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"15\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Naudoti <\/span><span data-contrast=\"none\">derinimo spausdinimas<\/span><span data-contrast=\"none\">  Nor\u0117dami registruoti \u201eWebSocket\u201c prane\u0161imus ir ry\u0161io \u012fvykius:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">kanalas.stream.listen ((prane\u0161imas) {<\/span><br \/><span data-contrast=\"none\">  derinimo spausdinimas (<\/span><b><span data-contrast=\"none\">Gauta: <\/span><\/b><span data-contrast=\"none\">$ prane\u0161imas<\/span><b><span data-contrast=\"none\">\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">});<\/span><br \/><span data-contrast=\"none\">kanalas.sink.add (<\/span><b><span data-contrast=\"none\">\u201eSveiki,\u201e WebSocket \u201c!\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><br \/><span data-contrast=\"none\">  derinimo spausdinimas (<\/span><b><span data-contrast=\"none\">\u201ePrane\u0161imas i\u0161si\u0173stas: Sveiki,\u201e WebSocket \u201c!\u201c<\/span><\/b><span data-contrast=\"none\">);<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:360,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <\/span><\/p>\n<ol start=\"3\">\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Imituokite_scenarijus\"><\/span><span id=\"Simulate_Scenarios\"><b><span data-contrast=\"none\">  Imituokite scenarijus:<\/span><\/b><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ol>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"16\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:(8226),&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">I\u0161bandykite skirtingas s\u0105lygas, tokias kaip ry\u0161io la\u0161ai, netinkami prane\u0161imai ir i\u0161 naujo sujungimo strategijos, kad b\u016bt\u0173 u\u017etikrintas tvirtumas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">Efektyvus testavimas ir registravimas leid\u017eia lengviau nustatyti ir i\u0161spr\u0119sti problemas, pagerinant bendr\u0105 j\u016bs\u0173 \u201eWebSocket\u201c diegimo patikimum\u0105<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Isvada\"><\/span><span id=\"Conclusion\"><b><span data-contrast=\"none\">I\u0161vada<\/span><\/b><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\"> <\/span><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span data-contrast=\"none\">\u201eWebSockets\u201c vaidina lemiam\u0105 vaidmen\u012f kuriant realaus laiko programas, \u012fgalinant greit\u0105, efektyv\u0173 ir nuolatin\u012f klient\u0173 ir serveri\u0173 bendravim\u0105. <\/span><\/p>\n<p><span data-contrast=\"none\">Nesvarbu, ar kuriate pokalbi\u0173 programas, tiesioginius sporto atnaujinimus ar keli\u0173 \u017eaid\u0117j\u0173 \u017eaidimus, \u201eWebSockets\u201c u\u017etikrina vientis\u0105 vartotojo patirt\u012f, turin\u010di\u0105 minimal\u0173 dels\u0105.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-contrast=\"none\">Kaip plazd\u0117jimo k\u016br\u0117jas, \u201eWebSocket\u201c diegimo \u012fvaldymas gali atrakinti \u012fdomias dinamini\u0173 ir interaktyvi\u0173 program\u0173 funkcij\u0173 galimybes. <\/span><\/p>\n<p><span data-contrast=\"none\">Lengvai integracijos ir galing\u0173 \u012franki\u0173, \u012ftraukiant \u017einiatinklio rinkinius \u012f savo \u201eFutter\u201c program\u0173 k\u016brimo projektus, yra naudingas \u017eingsnis kuriant reaguojan\u010dias ir \u012ftraukian\u010dias programas.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\"> <\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:(916,1832,2748,3664,4580,5496,6412,7328,8244,9160,10076,10992,11908,12824,13740,14656),&quot;469777927&quot;:(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),&quot;469777928&quot;:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)}\"> <span class=\"TextRun SCXW109783896 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW109783896 BCX8\">Jei jums reikia papildomos pagalbos pl\u0117tojant program\u0105, galite susisiekti su mumis <\/span><\/span><strong><span class=\"TextRun Underlined SCXW109783896 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW109783896 BCX8\" data-ccp-charstyle=\"Hyperlink\"><span class=\"__cf_email__\" data-cfemail=\"1b72757d745b637a6d746935787476\">(El. Pa\u0161tas apsaugotas)<\/span><\/span><\/span><\/strong><span class=\"TextRun SCXW109783896 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW109783896 BCX8\">  . Mes suplanuosime nemokam\u0105 konsultacij\u0173 sesij\u0105, kad i\u0161tirtume, kaip \u201eXavor\u201c gali <\/span><span class=\"NormalTextRun SCXW109783896 BCX8\">pad\u0117ti<\/span><span class=\"NormalTextRun SCXW109783896 BCX8\">  tu.<\/span><\/span><span class=\"EOP SCXW109783896 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <\/span><\/span><\/p>\n<\/p><\/div>\n<p><script>\n!function(f,b,e,v,n,t,s)\n{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\nn.callMethod.apply(n,arguments):n.queue.push(arguments)};\nif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\nn.queue=();t=b.createElement(e);t.async=!0;\nt.src=v;s=b.getElementsByTagName(e)(0);\ns.parentNode.insertBefore(t,s)}(window, document,'script',\n'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\nfbq('init', '688143682758843');\nfbq('track', 'PageView');\n<\/script><br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/www.xavor.com\/blog\/mastering-web-socket-implementation-in-flutter-app-development\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2222,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[4],"tags":[177,4508,4506,1085,4509,4510,4507,1651],"class_list":["post-2221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologijos-ismanieji-irenginiai","tag-diegimas","tag-laiko","tag-lizdo","tag-pagrindinis","tag-plazdejimo","tag-programoms","tag-realiojo","tag-ziniatinklio"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"admin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"lt_LT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Paskutin\u0117s \u017dinios.LT - Naujienos,technologijos, finansai\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT\" \/>\n\t\t<meta property=\"og:description\" content=\"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-19T23:00:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-19T23:00:03+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#blogposting\",\"name\":\"Pagrindinis \\u017einiatinklio lizdo diegimas realiojo laiko plazd\\u0117jimo programoms - Paskutin\\u0117s \\u017dinios.LT\",\"headline\":\"Pagrindinis \\u017einiatinklio lizdo diegimas realiojo laiko plazd\\u0117jimo programoms\",\"author\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms.jpg\",\"width\":770,\"height\":450},\"datePublished\":\"2025-02-19T23:00:03+00:00\",\"dateModified\":\"2025-02-19T23:00:03+00:00\",\"inLanguage\":\"lt-LT\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#webpage\"},\"articleSection\":\"Technologijos, diegimas, laiko, lizdo, pagrindinis, plazd\\u0117jimo, programoms, realiojo, \\u017einiatinklio\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.paskutineszinios.lt\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/category\\\/technologijos-ismanieji-irenginiai\\\/#listItem\",\"name\":\"Technologijos\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/category\\\/technologijos-ismanieji-irenginiai\\\/#listItem\",\"position\":2,\"name\":\"Technologijos\",\"item\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/category\\\/technologijos-ismanieji-irenginiai\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#listItem\",\"name\":\"Pagrindinis \\u017einiatinklio lizdo diegimas realiojo laiko plazd\\u0117jimo programoms\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#listItem\",\"position\":3,\"name\":\"Pagrindinis \\u017einiatinklio lizdo diegimas realiojo laiko plazd\\u0117jimo programoms\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/category\\\/technologijos-ismanieji-irenginiai\\\/#listItem\",\"name\":\"Technologijos\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/#organization\",\"name\":\"Paskutin\\u0117s \\u017dinios.LT\",\"description\":\"Naujienos,technologijos, finansai\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/author\\\/admin\\\/\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f37349f777250847d2fca2ada474f5a6aadffa79d5284e8ad354a5c410a691ec?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"admin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#webpage\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/\",\"name\":\"Pagrindinis \\u017einiatinklio lizdo diegimas realiojo laiko plazd\\u0117jimo programoms - Paskutin\\u0117s \\u017dinios.LT\",\"description\":\"Komunikacija realiuoju laiku tapo \\u0161iuolaikini\\u0173 program\\u0173 kertiniu akmeniu \\u0161iandieniniame spar\\u010diai populiar\\u0117jan\\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\\u017ei\\u0173, momentini\\u0173 atnaujinim\\u0173, tiesiogini\\u0173 pokalbi\\u0173, momentini\\u0173 prane\\u0161im\\u0173 ar bendradarbiavimo \\u012franki\\u0173. \\u010cia pradedami \\u201eWebSockets\\u201c. Skirtingai nuo tradicini\\u0173 HTTP u\\u017eklaus\\u0173, \\u201eWebSockets\\u201c u\\u017emezga nuolatin\\u012f, dvikrypt\\u012f kliento ir serverio ry\\u0161\\u012f, \\u012fgalindami realaus laiko keitim\\u0105si su minimaliu v\\u0117lavimu. \\u201eWebSockets\\u201c \\u012fgyvendinimas atveria \\u012fdomias \\u201eFlutter\\u201c k\\u016br\\u0117j\\u0173 galimybes\",\"inLanguage\":\"lt-LT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/author\\\/admin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms.jpg\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#mainImage\",\"width\":770,\"height\":450},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/index.php\\\/2025\\\/02\\\/19\\\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\\\/#mainImage\"},\"datePublished\":\"2025-02-19T23:00:03+00:00\",\"dateModified\":\"2025-02-19T23:00:03+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/#website\",\"url\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/\",\"name\":\"Paskutin\\u0117s \\u017dinios.LT\",\"description\":\"Naujienos,technologijos, finansai\",\"inLanguage\":\"lt-LT\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.paskutineszinios.lt\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT","description":"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes","canonical_url":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#blogposting","name":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT","headline":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms","author":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/www.paskutineszinios.lt\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.paskutineszinios.lt\/wp-content\/uploads\/2025\/02\/Pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms.jpg","width":770,"height":450},"datePublished":"2025-02-19T23:00:03+00:00","dateModified":"2025-02-19T23:00:03+00:00","inLanguage":"lt-LT","mainEntityOfPage":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#webpage"},"isPartOf":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#webpage"},"articleSection":"Technologijos, diegimas, laiko, lizdo, pagrindinis, plazd\u0117jimo, programoms, realiojo, \u017einiatinklio"},{"@type":"BreadcrumbList","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt#listItem","position":1,"name":"Home","item":"https:\/\/www.paskutineszinios.lt","nextItem":{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/#listItem","name":"Technologijos"}},{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/#listItem","position":2,"name":"Technologijos","item":"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#listItem","name":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#listItem","position":3,"name":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms","previousItem":{"@type":"ListItem","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/#listItem","name":"Technologijos"}}]},{"@type":"Organization","@id":"https:\/\/www.paskutineszinios.lt\/#organization","name":"Paskutin\u0117s \u017dinios.LT","description":"Naujienos,technologijos, finansai","url":"https:\/\/www.paskutineszinios.lt\/"},{"@type":"Person","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/author\/admin\/#author","url":"https:\/\/www.paskutineszinios.lt\/index.php\/author\/admin\/","name":"admin","image":{"@type":"ImageObject","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/f37349f777250847d2fca2ada474f5a6aadffa79d5284e8ad354a5c410a691ec?s=96&d=mm&r=g","width":96,"height":96,"caption":"admin"}},{"@type":"WebPage","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#webpage","url":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/","name":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT","description":"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes","inLanguage":"lt-LT","isPartOf":{"@id":"https:\/\/www.paskutineszinios.lt\/#website"},"breadcrumb":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#breadcrumblist"},"author":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/author\/admin\/#author"},"creator":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/author\/admin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.paskutineszinios.lt\/wp-content\/uploads\/2025\/02\/Pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms.jpg","@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#mainImage","width":770,"height":450},"primaryImageOfPage":{"@id":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/#mainImage"},"datePublished":"2025-02-19T23:00:03+00:00","dateModified":"2025-02-19T23:00:03+00:00"},{"@type":"WebSite","@id":"https:\/\/www.paskutineszinios.lt\/#website","url":"https:\/\/www.paskutineszinios.lt\/","name":"Paskutin\u0117s \u017dinios.LT","description":"Naujienos,technologijos, finansai","inLanguage":"lt-LT","publisher":{"@id":"https:\/\/www.paskutineszinios.lt\/#organization"}}]},"og:locale":"lt_LT","og:site_name":"Paskutin\u0117s \u017dinios.LT - Naujienos,technologijos, finansai","og:type":"article","og:title":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT","og:description":"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes","og:url":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/","article:published_time":"2025-02-19T23:00:03+00:00","article:modified_time":"2025-02-19T23:00:03+00:00","twitter:card":"summary_large_image","twitter:title":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms - Paskutin\u0117s \u017dinios.LT","twitter:description":"Komunikacija realiuoju laiku tapo \u0161iuolaikini\u0173 program\u0173 kertiniu akmeniu \u0161iandieniniame spar\u010diai populiar\u0117jan\u010diame skaitmeniniame pasaulyje. Vartotojai tikisi skland\u017ei\u0173, momentini\u0173 atnaujinim\u0173, tiesiogini\u0173 pokalbi\u0173, momentini\u0173 prane\u0161im\u0173 ar bendradarbiavimo \u012franki\u0173. \u010cia pradedami \u201eWebSockets\u201c. Skirtingai nuo tradicini\u0173 HTTP u\u017eklaus\u0173, \u201eWebSockets\u201c u\u017emezga nuolatin\u012f, dvikrypt\u012f kliento ir serverio ry\u0161\u012f, \u012fgalindami realaus laiko keitim\u0105si su minimaliu v\u0117lavimu. \u201eWebSockets\u201c \u012fgyvendinimas atveria \u012fdomias \u201eFlutter\u201c k\u016br\u0117j\u0173 galimybes"},"aioseo_meta_data":{"post_id":"2221","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-02-19 23:01:59","updated":"2025-06-06 16:11:27","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.paskutineszinios.lt\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/\" title=\"Technologijos\">Technologijos<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.paskutineszinios.lt"},{"label":"Technologijos","link":"https:\/\/www.paskutineszinios.lt\/index.php\/category\/technologijos-ismanieji-irenginiai\/"},{"label":"Pagrindinis \u017einiatinklio lizdo diegimas realiojo laiko plazd\u0117jimo programoms","link":"https:\/\/www.paskutineszinios.lt\/index.php\/2025\/02\/19\/pagrindinis-ziniatinklio-lizdo-diegimas-realiojo-laiko-plazdejimo-programoms\/"}],"_links":{"self":[{"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/posts\/2221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/comments?post=2221"}],"version-history":[{"count":0,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/posts\/2221\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/media\/2222"}],"wp:attachment":[{"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/media?parent=2221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/categories?post=2221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.paskutineszinios.lt\/index.php\/wp-json\/wp\/v2\/tags?post=2221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}