Dynamically created IPC channels
Dynamically created IPC channels
A dynamically created IPC channel uses the following functions:
- Name Server interface
- Connection Manager interface
An IPC channel is dynamically created according to the following scenario:
- The following processes are started: client, server, and name server.
- The server connects to the name server by using the
NsCreate()
call and publishes the server name, interface name, and endpoint name by using theNsPublishService()
call. - The client uses the
NsCreate()
call to connect to the name server and then uses theNsEnumServices()
call to search for the server name and endpoint name based on the interface name. - The client uses the
KnCmConnect()
call to request access to the endpoint and passes the found server name and endpoint name as arguments. - The server calls the
KnCmListen()
function to check for requests to access the endpoint. - The server accepts the client request to access the endpoint by using the
KnCmAccept()
call and passes the client name and endpoint name received from theKnCmListen()
call as arguments.
Steps 2 and 3 can be skipped if the client already knows the server name and endpoint name in advance.
The server can use the NsUnPublishService()
call to unpublish endpoints that were previously published on the name server.
The server can use the KnCmDrop()
call to reject requests to access endpoints.
To use a name server, the solution security policy must allow interaction between a process of the kl.core.NameServer
class and processes between which IPC channels must be dynamically created.
Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.