{"id":4315,"date":"2021-03-17T17:32:51","date_gmt":"2021-03-17T17:32:51","guid":{"rendered":"https:\/\/www.colorwave.it\/blog\/?p=4315"},"modified":"2021-04-08T14:41:22","modified_gmt":"2021-04-08T14:41:22","slug":"ezechiele-parte-terza","status":"publish","type":"post","link":"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-terza\/admin\/2021\/03\/","title":{"rendered":"Ezechiele &#8211; parte terza"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4315\" class=\"elementor elementor-4315\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5b0e3699 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5b0e3699\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-29067ef5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"29067ef5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-33180e8e\" data-id=\"33180e8e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4d8c78cd elementor-widget elementor-widget-heading\" data-id=\"4d8c78cd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CLB_Ezechiele_net <br>La formattazione dei messaggi<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e8187ee elementor-widget elementor-widget-text-editor\" data-id=\"5e8187ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Nell&#8217;articolo precedente abbiamo introdotto\u00a0 la classe <em><span style=\"color: #008000;\">Session<\/span><\/em>, che gestisce la comunicazione fra un Client e un&#8217;istanza remota di Colibri.<\/p><p>Abbiamo visto che la comunicazione \u00e8 effettuata attraverso il passaggio di comandi (istruzioni) fra la <em><span style=\"color: #008000;\">Session<\/span> <\/em>e\u00a0 la classe <em><span style=\"color: #008000;\">Ezc_context\u00a0<\/span> <\/em>della dll nativa <span style=\"color: #008000;\"><em>CLB_Ezechiele<\/em><\/span>.<\/p><p>Esporremo ora le modalit\u00e0 di formattazione dei comandi da trasferire.<\/p><p>La classe di servizio che effettua l&#8217;operazione \u00e8 la <span style=\"color: #008000;\">Sender<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-15286d1f\" data-id=\"15286d1f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e357fc9 elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"e357fc9\" data-element_type=\"widget\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:[],&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;marker_view&quot;:&quot;numbers&quot;,&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tTable of Contents\t\t\t<\/h4>\n\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__e357fc9\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__e357fc9\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/div>\n\t\t\t\t\t<\/div>\n\t\t<div id=\"elementor-toc__e357fc9\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-378eb391 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"378eb391\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-692602a9\" data-id=\"692602a9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-21c8f787 elementor-widget elementor-widget-text-editor\" data-id=\"21c8f787\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Sender<\/h3><p>Sender espone una sola funzione\u00a0 pubblica ed ha l&#8217;unico compito di creare un opportuno stack di comandi e parametri trasferiti all CLB_Ezechiele. per farlo usa internamente\u00a0 le funzioni della classe Clb\u00a0 Push_v e Push_s, per inserire nello stack i tipi previsti di argomenti ( string e void *).<\/p><h4>\u00a0bool push(params arg[] list)<\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f34b244 elementor-widget elementor-widget-code-highlight\" data-id=\"f34b244\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>    public unsafe class Sender\n    {\n        int id = -1;\n\n        public Sender(int ids)\n        {\n            id = ids;\n        }\n\n\n        \/** \\brief manda un comando alla dll clb_Ezechiele\n\t\t *\/\n        public bool push(params arg[] list)\n        {\n            if (list.Length <= 0)\n                return false;\n\n            if (start_cmd())\n            {\n                for (int i = 0; i < list.Length; i++)\n                {\n                    push_info_type ag = list[i].type;\n                    switch (ag)\n                    {\n                        case push_info_type.undef: break;\n                        case push_info_type.void_arg: Clb.Push_v(id, (int)ag, list[i].ptr); break;\n                        case push_info_type.char_arg: Clb.Push_s(id, (int)ag, list[i].str); break;\n                    }\n                }\n                return end_cmd();\n            }\n            return false;\n        }\n\n        \/** @brief inizio trasferimento lista comandi\n         * *\/\n        bool start_cmd()\n        {\n            int start = (int)push_info_type.start;\n            return Clb.Push_v(id, start, null);\n        }\n        bool end_cmd()\n        {\n            int end = (int)push_info_type.end;\n            return Clb.Push_v(id, end, null);\n        }\n\n\n    }\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3000bac elementor-widget elementor-widget-text-editor\" data-id=\"3000bac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La funzione <em><span style=\"color: #008000;\">Sender.push,<\/span><\/em> come visibile nel codice, esegue l&#8217;operazione generando una sequenza di trasferimenti degli elementi in una coda di ricezione gestita in <em><span style=\"color: #008000;\">CLB_Ezechiele<\/span>.<\/em><\/p><p>Il trasferimento inizia con l&#8217;istruzione <em><span style=\"color: #008000;\">start_cmd()<\/span> <\/em>e termina con la<span style=\"color: #008000;\"><em> end_cmd();<\/em><\/span> le due istruzioni inseriscono due codici riconosciuti dal ricevente <em><span style=\"color: #008000;\">Ezc_context<\/span> <\/em>come inizio e termine della ricezione di un lista di istruzioni e parametri.<\/p><p>in mezzo vengono trasferiti nel formato atteso il comando e i parametri eventuali. Il codice del tipo di parametro passato dipender\u00e0 ovviamente da tipo atteso dall&#8217;interprete del comando in <em><span style=\"color: #008000;\">Ezc_context<\/span><\/em>.<\/p><p>Un breve inciso: <em><span style=\"color: #008000;\">Sender.push<\/span><\/em>\u00a0 \u00a0ha ricevuto una lista di parametri di tipo <span style=\"color: #008000;\"><em>arg\u00a0 <\/em><\/span>generati da Session.<\/p><p>La classe <em><span style=\"color: #008000;\">arg<\/span> <\/em>contiene le informazioni ed il tipo di dato dell&#8217;argomento;\u00a0<\/p><p>Ad esempio, il comando generato dalla funzione <em><span style=\"color: #008000;\">Session.open_image<\/span><\/em> ha questo codice:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7caa735 elementor-widget elementor-widget-code-highlight\" data-id=\"7caa735\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>        public bool open_image(string path_file)\n        {\n            return send_cmd(_s(\"open image\"), _s(path_file));\n        }<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f44baa6 elementor-widget elementor-widget-text-editor\" data-id=\"f44baa6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>la funzione genera un comando passando come argomento il nome file dell&#8217;immagine.\u00a0 Si pu\u00f2 notare che i parametri usati dalla funzione <em><span style=\"color: #008000;\">send_cmd<\/span> <\/em>sono filtrati attraverso una funzione\u00a0<i> ausiliaria\u00a0 <\/i><em><span style=\"color: #008000;\">_s (..)<\/span><\/em>:<\/p><p style=\"padding-left: 120px;\">\u00a0 \u00a0<span style=\"color: #0000ff;\"> _s(&#8220;open image&#8221;) e _s(path_file)) ;\u00a0<\/span><\/p><p><em><span style=\"color: #008000;\">_s<\/span> <\/em>genera un oggetto <span style=\"color: #008000;\">arg<\/span> di tipo stringa , fornito alla<span style=\"color: #008000;\"><em> send_cmd()\u00a0 <\/em><\/span>la quale\u00a0 trasferisce la lista alla <span style=\"color: #008000;\"><em>Sender.<\/em><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-295fe941\" data-id=\"295fe941\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3837a8d4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3837a8d4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-14d94cb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"14d94cb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-76e515a\" data-id=\"76e515a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-490d9d02 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"490d9d02\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-593e5733\" data-id=\"593e5733\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6dcb7804 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"6dcb7804\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"4276\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-seconda\/admin\/2021\/03\/attachment\/next_step\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-orig-size=\"256,256\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"next_step\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" tabindex=\"0\" role=\"button\" width=\"256\" height=\"256\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" class=\"attachment-large size-large wp-image-4276\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?w=256&amp;ssl=1 256w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"(max-width: 256px) 100vw, 256px\" data-attachment-id=\"4276\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-seconda\/admin\/2021\/03\/attachment\/next_step\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-orig-size=\"256,256\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"next_step\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" role=\"button\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4dfcaf6c\" data-id=\"4dfcaf6c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-32ca49cb elementor-widget elementor-widget-text-editor\" data-id=\"32ca49cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Abbiamo spiegato come la classe <strong><span style=\"color: #008000;\">Sender<\/span> <\/strong>organizza la trasmissione dei comandi alla dll nativa CLB_Ezechiele.<\/p><p><em><strong><span style=\"color: #008000;\">Sender<\/span> <\/strong><\/em>\u00e8 una classe di servizio usata per nascondere i dettagli di trasmissione degli oggetti e dei comandi.\u00a0<\/p><p>Un&#8217;altra classe utile per richiedere\/ passare informazioni a Colibri \u00e8 la <em><strong><span style=\"color: #008000;\">Json_io<\/span><\/strong><\/em>.<\/p><p><em><span style=\"color: #008000;\">Json_io<\/span> <\/em>gestisce l&#8217;input e output di informazioni <span style=\"color: #0000ff;\">Json<\/span> e si avvale di due funzioni di <em><span style=\"color: #008000;\">Session<\/span> <\/em>per svolgere il compito.<\/p><p>Nel prossimo articolo discuteremo di tali metodi, analizzando come, ad esempio, pu\u00f2 essere richiesto un atlante colore, informazioni su una cartella,.. ed altro.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6b8f61b7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b8f61b7\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7544336f\" data-id=\"7544336f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2d6af7dd elementor-align-right elementor-widget elementor-widget-button\" data-id=\"2d6af7dd\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-seconda\/admin\/2021\/03\/\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">articolo precedente<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7ea92be0\" data-id=\"7ea92be0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-25c31aa3 elementor-widget elementor-widget-button\" data-id=\"25c31aa3\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/wp.me\/p9rwsf-182\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">articolo successivo<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CLB_Ezechiele_net La formattazione dei messaggi Nell&#8217;articolo precedente abbiamo introdotto\u00a0 la classe Session, che gestisce la comunicazione fra un Client e un&#8217;istanza remota di Colibri. Abbiamo visto che la comunicazione \u00e8 effettuata attraverso il passaggio di comandi (istruzioni) fra la Session e\u00a0 la&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[123,90,122],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9rwsf-17B","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4315"}],"collection":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/comments?post=4315"}],"version-history":[{"count":18,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4315\/revisions"}],"predecessor-version":[{"id":4355,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4315\/revisions\/4355"}],"wp:attachment":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/media?parent=4315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/categories?post=4315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/tags?post=4315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}