[comp.unix.sysv386] Sockets in 386/ix

sramacha@uceng.UC.EDU (Sridhar Ramachandran) (09/21/90)

HI,

I have been trying to port a version of our software on to the
system running 386/ix. This is essentially SYS_V 3.2
Unix. But the sockets facilities seem to be very hotch potch
and I have been unable to port my software, which uses both
Unix and INET domain sockets. From the documentation of 386/ix,
I understand that they don't implement Unix domain sockets.
Hence, I am trying to rewrite portions of our code that
uses Unix domain sockets and change them to ise INET domain
sockets. However, I haven't met with great success. I am not
even sure that it'll work.

I need Unix domain sockets to create a communication channel between
two processes. I know that this could have been done with other
IPC calls, but hey, I didn't write the original version. The call
that the software uses to do this is a "socketpair" call.


Does anyone on the net have any ideas about how this could be
implemented using just INET domain sockets.

Thanks in advance,
Sridhar.

marc@dumbcat.sf.ca.us (Marco S Hyman) (09/28/90)

In article <6168@uceng.UC.EDU> sramacha@uceng.UC.EDU (Sridhar Ramachandran) writes:
    
    From the documentation of 386/ix,
    I understand that they don't implement Unix domain sockets.

Correct.

    I need Unix domain sockets to create a communication channel between
    two processes. I know that this could have been done with other
    IPC calls, but hey, I didn't write the original version. The call
    that the software uses to do this is a "socketpair" call.

Check out a streams pipe [spipe(3i) in the 386/ix doc].  If that doesn't do
what you want make a connection to yourself.  A quick hack is to use the
loopback address.  Better is to do a gethostid or some such.

(enjoy)

// marc

-- 
// marc@dumbcat.sf.ca.us
// {ames,decwrl,sun}!pacbell!dumbcat!marc

vjs@calcite.UUCP (Vernon Schryver) (09/30/90)

In article <6168@uceng.UC.EDU>, sramacha@uceng.UC.EDU (Sridhar Ramachandran) writes:
> I need Unix domain sockets to create a communication channel between
> two processes.

My day-time employer (a major UNIX workstation vendor) has been shipping
SVR3 with 4.3BSD TCP/IP for about four years.  For the first three years,
we did not implement "UNIX domain sockets," because we value speed and
dislike the loss of user physical memory and consequent slowness caused by
modern, bloated kernels.  Instead, we told customers to use System V "named
pipes."  We finally added UDS sockets as an optional lboot module as a
result of some internal political baloney.  There was and is limited end
user need or demand for them.

Aside from details likes select(2) (which may be fixed by your vendor--I
don't know), SVR3 named pipes are very similar to UNIX domain sockets.


Vernon Schryver,    vjs@calcite.uucp

richard@pegasus.com (Richard Foulk) (10/01/90)

>
>Aside from details likes select(2) (which may be fixed by your vendor--I
>don't know), SVR3 named pipes are very similar to UNIX domain sockets.
>

Are there any libraries around that make Unix domain sockets look
more like named pipes?


-- 
Richard Foulk		richard@pegasus.com

richard@pegasus.com (Richard Foulk) (10/02/90)

>>Aside from details likes select(2) (which may be fixed by your vendor--I
>>don't know), SVR3 named pipes are very similar to UNIX domain sockets.
>>
>
>Are there any libraries around that make Unix domain sockets look
>more like named pipes?

It must have been later than I thought when I posted that, I got it
ass-backwards.  How about a library that makes named pipes look like
Unix domain sockets?


-- 
Richard Foulk		richard@pegasus.com