Architecture & structure

We've been talking about "clients" and "servers." I've also used three key phrases:

I specifically used those phrases because they closely reflect the actual function names used in QNX Neutrino message-passing operations.

Here's the complete list of functions dealing with message passing available under QNX Neutrino (in alphabetical order):

Don't let this list overwhelm you! You can write perfectly useful client/server applications using just a small subset of the calls from the list—as you get used to the ideas, you'll see that some of the other functions can be very useful in certain cases.

Note: A useful minimal set of functions is ChannelCreate(), ConnectAttach(), MsgReply(), MsgSend(), and MsgReceive().

We'll break our discussion up into the functions that apply on the client side, and those that apply on the server side.