Hello all,

I did a minimalistic sniffer for a virtual HPIL loop, where 2-byte frames 
travel from a device (or controller) to the next but never back. (The loop is 
closed from the last to the first device.) So TCPDATA will only write to the 
pipe and TCPCLIENT will only read from it (see comments in append). Works.

Alas, when I start this Pipeline and do not start the adjacent (virtual) 
devices within one minute TCPCLIENT ends after presenting "60 ETIMEDOUT" 
(without quotes) on secondary output. The TIMEOUT argument (line 15) does not 
change this, also LINGER does not change this behaviour.

Which of TCPCLIENT's arguments should I use instead?

TIA.....Mike

0 * * * Top of File * * *
 1 /* SNFIL EXEC: Show traffic on Virtual HPIL. MF 24.2.2013            */
 2
 3 p.in = 60001                     /* in port                     */
 4 p.ex = 60002                     /* out port                    */
 5 exIP = 3.0.8.15                  /* out IP                      */
 6
 7 say 'To quit enter PIPMOD STOP'  /* just a hint                 */
 8 'PIPE(sep ! end ?)',
 9  '!a:tcplisten' p.in,            /* get client connected        */
10  '! take',                       /* one only                    */
11  '!b:tcpdata linger 1200',       /* read in from the loop       */
12  '! fblock 2',                   /* make single frames          */
13  '!c:fanout',                    /* get a copy                  */
14  '!d:tcpclient' exIP p.ex,       /* send it out on the loop     */
15    'timeout 5000',
16  '?a:',                          /* errors from TCPLISTEN       */
17  '!e:faninany',                  /* collect more errors         */
18  '!f:chop blank',                /* get leading return code ... */
19  '! aggrc',                      /* ... and set RC of this PIPE */
20  '?b:!e:',                       /* errors from TCPDATA         */
21  '?d:!e:',                       /* errors from TCPCLIENT       */
22  '?c:',                          /* frames from the loop        */
23  '! dcdfrm',                     /* decode frame                */
24  '! term',                       /* show on screen              */
25  '?f:',                          /* from CHOP                   */
26  '! strip',                      /* get rid of outside blanks   */
27  '! term'                        /* put on CRT                  */
28
29 exit rc
30 * * * End of File * * *

________________________________
CONFIDENTIALITY : This e-mail and any attachments are confidential and may be 
privileged. If you are not a named recipient, please notify the sender 
immediately and do not disclose the contents to another person, use it for any 
purpose or store or copy the information in any medium.

Reply via email to