in reply to Re: Can't get it working: Bidirectional Pipe on Windows
in thread Can't get it working: Bidirectional Pipe on Windows

IIRC, since perl 5.10, the socketpair builtin is also available on Windows (it also emulates it running a TCP connection through localhost), so, is there any reason to prefer using Win32::Socketpair over it?

I say, because I have not been maintaining Win32::Socketpair for a long time, but maybe it is still useful.

BTW, does anybody volunteer as its new maintainer?

Replies are listed 'Best First'.
Re^3: Can't get it working: Bidirectional Pipe on Windows
by ikegami (Patriarch) on Mar 09, 2012 at 22:45 UTC

    is there any reason to prefer using Win32::Socketpair over it?

    It depends whether you're asking about the interface or the implementation.

    I don't know what differences there might be in the implementations, but winsocketpair is obviously easier to use than socketpair.

    my ($fd1, $fd2) = winsocketpair();

    vs

    use Socket qw( AF_UNIX SOCK_STREAM PF_UNSPEC ); socketpair(my $fd1, my $fd2, AF_UNIX, SOCK_STREAM, PF_UNSPEC)

    (Just to make things confusing, it has has to be a UNIX socket, not an INET socket.)

Re^3: Can't get it working: Bidirectional Pipe on Windows
by BrowserUk (Patriarch) on Mar 09, 2012 at 15:10 UTC
    since perl 5.10, the socketpair builtin is also available on Windows

    I was unaware of that.

    is there any reason to prefer using Win32::Socketpair over it?

    I mostly remember Win32::SocketPair for winopen2(). When I needed bi-di comms with a child process, I found that simply, effective piece of code worked reliably when IPC::Open2, (and the raft of huge & complicated 'portable' modules like IPC::Run with its gargantuan interface, multiple packages and "pump processes"), just hung me out to dry.

    I say, because I have not been maintaining Win32::Socketpair for a long time, but maybe it is still useful.

    I haven't used it for a while, I've only had the need for it once. But I've recommended it a few times without getting negative feedback, so if it ain't broke don't fix it :)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?

Re^3: Can't get it working: Bidirectional Pipe on Windows
by rovf (Priest) on Mar 12, 2012 at 08:55 UTC
    since perl 5.10, the socketpair builtin is also available on Windows
    I should have said that my code is required to run on Activestate Perl 5.8.8.... But thanks for pointing this out.

    -- 
    Ronald Fischer <ynnor@mm.st>