mhowlett / NNanomsg

.NET binding for nanomsg
MIT License
179 stars 52 forks source link

How do you use IPC and INPROC transport mechanisms? #29

Open katsuragi545 opened 7 years ago

katsuragi545 commented 7 years ago

I've been able to do tests and examples using TCP, but I haven't been successful in using IPC and INPROC, both of which are supported by native nanomsg. What is the proper way to use IPC and INPROC? For example, I have a working PUBSUB where 1 publisher publishes data and multiple subscribers can subscribe to that data by connecting to the same TCP address. The exact same code does nothing when using an INPROC address, and crashes when using an IPC address.

katsuragi545 commented 7 years ago

Seems related to the address you use. I was using ipc://127.0.0.0.1:1234. I switched to using ipc://filepath and it worked. Does anyone know where the portion after "ipc://" comes from? For example, the Pair_Test class uses an inproc address of inproc://pair_test - how would we know to use "pair_test" if it wasn't already there? It definitely seems related to file/class name, but there must be some kind of naming protocol right?

octaviordz commented 6 years ago

@katsuragi545, probably you already figured it out by now but the portion after ipc:// is arbitrary, as long as long as both client server use the same one, it's going to work.

You can check it out in nanomsg documentation. http://nanomsg.org/v1.0.0/nn_ipc.7.html