In reply to:

How about using an agreed-upon socket (port number) for listen()ing on, and then just structure the code like any other networking server code -- fork the socket/process on connect, parent listens for more connections, child services the current connection/request(s).. As a side benefit, this allows the client/server to be on different network nodes if ever desired, like during testing..




That sounds much cleaner than using named pipes! I've never done socket programming before, but reading up on it right now it seems to me like this is the way to go. Let me see if I have the concepts right. I would write a server that would listen in on a certain TCP port (looking at an /etc/services file I should choose one between 49152 and 65535) and handle multiple connections to this port by clients. I wouldn't have to have the interface lo up, since I could just connect to the address 0.

The program woudl fork() when a client is connected. How would I ensure that the IrDA port is only read by one process? I don't think that the IrDA port is able to be read from by more than one process at a time. The clients could filter out any objects other than the ones they are listening for, but I'm unsure how to make the server output the incoming OBEX object to all fork()'ed processes.

Any suggestions?
_________________________
Mark Cushman