[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fork() and socketpair()
> Joerg Seebohn:
> > I do not know what portability consideration you have in mind,
> > but under Linux a call to socketpair is perfect:
> > int sv ;
> > int r = socketpair( PF_UNIX, SOCK_STREAM, AF_LOCAL, sv) ;
> Yes, i called socketpair with the wrong arguments, now it works.
> I was using "socketpair(AF_INET, SOCK_STREAM, 0, sd)".
> Is possible to use PF_UNIX under other environments?
> (Thank you, you've got me out of a trouble!)
A call to socketpair should work also for internet protocols,
but you must use the TCP protocol for SOCK_STREAM sockets:
#include <netinet/in.h> // defines IPPROTO_TCP
int sv ;
int r = socketpair( PF_INET, SOCK_STREAM, IPPROTO_TCP, sv) ;
The unix protocol family "PF_UNIX" works only under UNIX as the name
says and only for local communication but it is faster than "PF_INET" !