UNIX域套接字上的异步Thrift Java客户端

时间:2015-08-05 12:51:06

标签: java sockets asynchronous thrift unix-socket

我有一个应用程序,它包含一个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,但我无法使用Thrift的Java AsyncClient。任何帮助,将不胜感激。

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

0 个答案:

没有答案