gpt4 book ai didi

java - 在异步 Thrift 客户端中传递 URI/上下文路径

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:46 26 4
gpt4 key购买 nike

我正在尝试构建一个异步节俭客户端。下面是我正在构建相同的代码

TNonblockingTransport transport = new TNonblockingSocket("127.0.0.1", 8080);
TAsyncClientManager clientManager = new TAsyncClientManager();
TProtocolFactory protocolFactory = new TBinaryProtocol.Factory();
TCalculator.AsyncClient client = new TCalculator.AsyncClient(protocolFactory,clientManager,transport);

我的服务器正在 http://localhost:8080/calculator 上运行

您能帮我看看如何在此处传递 uri。

如果是同步客户端,那就很简单了。

 TTransport transport;
transport = new THttpClient("http://localhost:"+8080+"/calculator");
transport.open();

Stacks used: Spring boot 2.2.1 & thrift.9

或者我以错误的方式创建 TNonblockingTransport。

最佳答案

本质上,您必须使用TNonblockingSocket以非阻塞方式使用传输。更改您的传输定义以使用 SocketChannel 配置,如下所示:

InetSocketAddress 将为您接受端口和 URL:

 try (SocketChannel socketChannel = SocketChannel.open()) {
socketChannel.connect(new InetSocketAddress("localhost", port));
TNonblockingTransport transport = new TNonblockingSocket(socketChannel);
}

final Asker.AsyncClient client = new Asker.AsyncClient(
new TCompactProtocol.Factory(),
new TAsyncClientManager(), transport);

关于java - 在异步 Thrift 客户端中传递 URI/上下文路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60145424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com