|
||
The socket server provides a multiple transport extensible networking API to applications programmers. To support this the socket server makes use of dynamically loadable libraries known as protocol modules.
A single protocol module can contain one or more related protocols (a protocol family). Examples of protocol families are TCP/IP (consisting of TCP, UDP and raw IP) and IrDA (consisting of raw IrMUX and TinyTP). Protocol families must be loaded and unloaded dynamically, they must be able to identify themselves and their capabilities and (some at least) must provide socket services. Protocol families may also provide service registration and name space resolution services. Not all protocols need to provide socket access—for instance, IrLAP does not provide socket access.