3

On Linux a fairly common method for IPC between userland processes and services is, for example, a socket interface (either Unix domain or netlink).

Simply -- What is the Windows analog of this and how do userland processes communicate with services?

To set the stage: Assume I have a background service running that monitors devices on a network. If I wanted to write a program to utilize the services provided by this service, what would be the common "Windows-way" of doing this?

If I am completely off-base here, what is the common way a Windows service may extend itself on the Windows OS so other processes may know it is actively listening for connections?

4
  • What about UDP on windows with Winsock 2? Commented Jan 26, 2016 at 16:46
  • @SeverinPappadeux, I'm sure that approach would work. Is this a common design method? That is what I am looking for with this question -- the common design methodologies for this kind of communication. Commented Jan 26, 2016 at 16:58
  • Frankly, I would check first things from Boost, like this Commented Jan 26, 2016 at 17:57
  • Note: for communication with the kernel, the Windows way is just to add new syscalls! No need to overcomplicate things there. (Obviously, not everyone can do that) Commented Jan 26, 2016 at 21:21

1 Answer 1

4

Windows has named pipes,

"A named pipe is a named, one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a named pipe share the same pipe name, but each instance has its own buffers and handles, and provides a separate conduit for client/server communication. The use of instances enables multiple pipe clients to use the same named pipe simultaneously."

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365590%28v=vs.85%29.aspx

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.