I'm trying to create a message pipeline over Linux domain sockets between a .NET Core and pure C application and decided to use Apache thrift for that.
The problem is that using their .NET Core library I can't seem to be able to find out how to create a TServerTransport
over unix sockets instead of ip sockets.
It seems to me that the .NET Core implementation work only via TCPListener
which is - if I understand it correctly - tied to network sockets. I think I might be missing something, however.
The Thrift .Net libs (neither Core nor C#) do not have a UNIX domain socket transport yet. This is partly due to the lack of Unix Domain socket support in .Net.
You could use netcat or socat to pipe a localhost TCP socket to the domain socket: Redirecting TCP-traffic to a UNIX domain socket under Linux
Or you could add a Domain socket transport to Thrift and contribute it (which would be great!). You could essentially copy the Thrift TCP socket transport impl and then use the info here to create the domain socket bit (from Mono): How to connect to a Unix Domain Socket in .NET Core in C#