使用linux域套接字在.NET Core和C之间进行节流通信

问题描述 投票:0回答:1

我正在尝试在.NET Core和纯C应用程序之间的Linux域套接字上创建一个消息管道,并决定使用Apache thrift。

问题是使用他们的.NET核心库我似乎无法找到如何通过unix套接字而不是ip套接字创建TServerTransport

在我看来,.NET Core实现只能通过TCPListener工作 - 如果我理解正确的话 - 与网络套接字相关联。不过,我想我可能会遗漏一些东西。

.net-core thrift unix-socket
1个回答
1
投票

Thrift .Net库(既不是Core也不是C#)还没有UNIX域套接字传输。这部分是由于.Net中缺少Unix域套接字支持。

您可以使用netcat或socat将localhost TCP套接字传递给域套接字:Redirecting TCP-traffic to a UNIX domain socket under Linux

或者你可以添加一个域套接字传输到Thrift并贡献它(这将是伟大的!)。您基本上可以复制Thrift TCP套接字传输impl,然后使用此处的信息来创建域套接字位(来自Mono):How to connect to a Unix Domain Socket in .NET Core in C#

© www.soinside.com 2019 - 2024. All rights reserved.