Persistent TCP Connection: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
K
Zeile 1: Zeile 1:
<br>
 
 
=== Persistent TCP Connection in Control6 Script ===
 
=== Persistent TCP Connection in Control6 Script ===
<br>
+
gummi:~#
gummi:~#<br>
+
gummi:~# socat stdio tcp4-listen:4444
gummi:~# socat stdio tcp4-listen:4444<br>
+
0070-01-01 00:00 -- pc_counter=2
0070-01-01 00:00 -- pc_counter=2<br>
+
0070-01-01 00:00 -- pc_counter=7
0070-01-01 00:00 -- pc_counter=7<br>
+
0070-01-01 00:00 -- pc_counter=12
0070-01-01 00:00 -- pc_counter=12<br>
+
0009-07-31 00:54 -- pc_counter=14
0009-07-31 00:54 -- pc_counter=14<br>
+
0009-07-31 00:54 -- pc_counter=19
0009-07-31 00:54 -- pc_counter=19<br>
+
...
...<br>
+
 
<br>
 
<br>
 
<br>
 
 
<source lang="text">
 
<source lang="text">
 
CONTROL_START
 
CONTROL_START
 +
        ECMD_GLOBAL(pc_counter, 0);
  
        CLOCK_USED
 
        ECMD_GLOBAL(pc_counter, 0);
 
 
         ON STARTUP DO
 
         ON STARTUP DO
 
                 TCP_CONNECT(10.0.0.35, 4444, message_handler);
 
                 TCP_CONNECT(10.0.0.35, 4444, message_handler);
 
                 dnl        (IP Address, Port, Handler-Name )
 
                 dnl        (IP Address, Port, Handler-Name )
 +
 +
                THREAD_START(send_value)
 
         END
 
         END
  
Zeile 34: Zeile 31:
 
                 WAIT(1)
 
                 WAIT(1)
 
         THREAD_END(send_value)
 
         THREAD_END(send_value)
 
        THREAD_START(send_value)
 
  
 
CONTROL_END
 
CONTROL_END
 
</source>
 
</source>
<br>
+
 
<br>
 
 
[[Category:Control6 Examples]]
 
[[Category:Control6 Examples]]

Version vom 31. Juli 2009, 18:25 Uhr

Persistent TCP Connection in Control6 Script

gummi:~#
gummi:~# socat stdio tcp4-listen:4444
0070-01-01 00:00 -- pc_counter=2
0070-01-01 00:00 -- pc_counter=7
0070-01-01 00:00 -- pc_counter=12
0009-07-31 00:54 -- pc_counter=14
0009-07-31 00:54 -- pc_counter=19

...

CONTROL_START
        ECMD_GLOBAL(pc_counter, 0);

        ON STARTUP DO
                TCP_CONNECT(10.0.0.35, 4444, message_handler);
                dnl        (IP Address, Port, Handler-Name )

                THREAD_START(send_value)
        END

        TCP_HANDLER_PERSIST(message_handler)
                for (;;) {
                        TCP_SEND("%04d-%02d-%02d %02d:%02d -- pc_counter=%d\n", CLOCK_YEAR(), CLOCK_MONTH(), CLOCK_DAY(), CLOCK_HOUR(), CLOCK_MIN(), pc_counter);
                        WAIT(5)
                }
        TCP_HANDLER_END();

        THREAD(send_value)
                pc_counter ++;
                WAIT(1)
        THREAD_END(send_value)

CONTROL_END