We have a system that collects data from a remote port and processes collected data into a database.

Problem : the port only allows one connection so if we want to do testing we have to either work on the live system or switch off the live system. Neither is ideal.

Solution : duplicate the remote port locally. Write some code that makes the connection and then creates local ports from which the current system can read. Initially we simply duplicate the feed to two local ports, one for live the second for testing. The writer needs to cope with the client not being there and not blocking if nothing is reading.

Eventually maybe work on a forking server so we can have any number of clients connect and get the feed. This feed is "streamed". The data is ascii and not too high in volume. Speed is mostly not an issue.

Q1)Is this something best done in Perl? I am looking at the fwdport code in Perl Cookbook as a modle or is there a better way using free utils.

Q2)Is the 2 fixed ports the way to start or just as easy to write forking server type code from start?

Q3)Is the fwdport idea the way to go or is there a better way?

In all these I know there is another way, there always is in Perl. I'm not looking for total solutions, pointers to where to look would be a great help. How to ask Google when words like "port" return so many returns? I don't want to "port" perl to the Xbox or other topics like that.

In reply to Port duplicator by tweetiepooh

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.