In article <[EMAIL PROTECTED]>,
"J Rice" <[EMAIL PROTECTED]> wrote:
> Hi Donn,
> Not sure I fully understand your suggestion. bind() only works once --
> I can't bind again in the client. Same thing with connect() -- once I
> issue a connect in the server, it rejects it in the client.
>
> Doing this as a stream works for what I want, but I would like to
> understand why it didn't work with datagram.
Right, bind should be on one end only, as it creates
the actual socket file.
Connect works on either end, with SOCK_DGRAM. From
man 2 connect:
The parameter s is a socket. If it is of type SOCK_DGRAM,
this call specifies the peer with which the socket is to be
associated; this address is that to which datagrams are to
be sent, and the only address from which datagrams are to be
received. If the socket is of type SOCK_STREAM, this call
attempts to make a connection to another socket.
However, even if we're straight on this, I confess I
have only addressed your question about the unconnected
endpoint.
The other part of the problem remains, as I don't know
how to get data to actually go both ways. I was a little
surprised by this, and have not been able to scare up any
explicit documentation, but the only example program I
could find for two-way UNIX domain datagram IPC, uses two
sockets, not one -
http://docs.hp.com/en/B2355-90136/ch07s06.html
Donn Cave, [EMAIL PROTECTED]
--
http://mail.python.org/mailman/listinfo/python-list