我有一个应用程序,包括一个Java Thrift异步客户端,使用环回接口(localhost)通过TCP与Python / Twisted Thrift异步服务器进行通信 .

我想使用UNIX域套接字而不是TCP套接字来提高吞吐量,但我找不到适合Java的异步(非阻塞)UNIX域套接字实现来与Thrift一起使用 .

我有这个Python / Twisted TCP Thrift服务器:

handler = ThriftServiceHandler(am)
processor = ThriftServiceHandler.Processor(handler)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()

reactor.listenTCP(PORT, TTwisted.ThriftServerFactory(processor, pfactory), interface="127.0.0.1")

我设法创建了一个异步UNIX域套接字Thrift服务器:

handler = ThriftServiceHandler(am)
processor = ThriftServiceHandler.Processor(handler)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()

reactor.listenUNIX("thrift.sock", TTwisted.ThriftServerFactory(processor, pfactory))

目前我有这个Java客户端:

clientManager = new TAsyncClientManager();
factory = new TBinaryProtocol.Factory();
socket = new TNonblockingSocket("127.0.0.1", thriftConstants.PORT);
client = new ThriftService.AsyncClient(this.factory, this.clientManager, this.socket);

但我不知道如何进行Java客户端实现 . 我查看了使用https://github.com/jnr/jnr-unixsockethttps://github.com/kohlschutter/junixsocket,但我无法't get them to work with Thrift'的Java AsyncClient . 任何帮助,将不胜感激 .

我使用的是最新版本的Thrift(0.9.2) .