I don't have any issues on RH 7.3 with Perl 5.6.1 other than the fact that the SO_REUSEPORT flag was not compiled in.

First suggestion would be to get the latest Socket (thin interface onto socket.c) and IO::Socket libraries (OO abstraction on top of Socket.pm) from CPAN, compile and install them and see if the problem goes away.

Have a look at your existing IO::Socket::INET - you should see in configure():

if ($arg->{Reuse} || $arg->{ReuseAddr}) { $sock->sockopt(SO_REUSEADDR,1) or return _error($sock, $!, "$!"); } if ($arg->{ReusePort}) { $sock->sockopt(SO_REUSEPORT,1) or return _error($sock, $!, "$!"); }

What you will notice is that if a configure option is unknown you will not get an error but it aint gonna happen either.

On older viersions of the IO::Socket library <1.18 the autoflush() method was not called by default either. I don't see that it should be an issue but it is very easy to turn on

$sock = IO::Socket::INET..... $sock->autoflush(1);

You did mention a firewall and the easiest way to see if that is the issue is to take it down for 30 seconds, run a test, and then put it back up. You may or may not be at liberty to do this but it by far the quickest way to go Yup it's the firewall or conversly go Nope still got the problem.

You may be closing the connection at the client side (test script) but without issuing an appropriate QUIT cmd to the server. The QUIT's are important as they let the server send a FIN packed so when you close the socket at the client end the OS knows it is all done.

Finally if the issue persists I would suggest posting a new node, with a pointer to this node, an explanation of what you are trying to do, what you have tried, exact error message and sample code, the server you are connecting to (it may be behaving badly) plus the OS/Perl details. I am probably the only one looking this deep into this node now so you are missing out on all the Solaris users (not me) who can probably go - do this and twill be fixed.

PS If you login when you post you will 1) not be Anonymous Monk 2) Get beter responses to root nodes all other things being equal 3) Get a message in the Chatterbox as soon as you get an answer so you don't have to go look for the node and the answer. 4) You Q & A will log to your posts so if you go to your home node an look up your posts you can find that Q/A that you posted 1-2-6 months ago.

cheers

tachyon


In reply to Re: Re: Re: Re: Re: Re: Re: Re: Re: Remote TCP Port Connection Monitoring by tachyon
in thread Remote TCP Port Connection Monitoring by w3ntp

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.