To oversimplify the TCP state diagram, CLOSE-WAIT means that the other end of the socket is closed and your application needs to close its end. I do not know what OS you are using, but your OS is supposed to "notify" you of this condition. The way that is generally done is for you to receive an EOF if you try to read from one of these sockets. If you do the read, receive the EOF and then close the socket, the socket shutdown (graceful close) will complete and your sockets will "disappear."

If the sockets in question do not return EOF, you will probably need to so something radical like setting the TCP keepalive parameters such that a connection to a non-responding peer is closed. I know Linux and BSD can do that, but IIRC it is on a system-wide basis. You may not want that.

HTH, --traveler

In reply to Re: CLOSE-WAIT sockets by traveler
in thread CLOSE-WAIT sockets by sdyates

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, 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, 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.