添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Thrift C++ 设置超时linux和windows差异

40浏览 · 2024-03-10 12:43:31
在 [thrift](https://geek.csdn.net/educolumn/326d92ba6b13fa0b291fe319eeeca050?spm=1055.2569.3001.10083) C++ 中,设置超时的方法在 Linux 和 [window](https://geek.csdn.net/educolumn/03e5a5a554174a38fdfeb8376bd685e2?spm=1055.2569.3001.10083)s 上是一样的。你可以使用 `setRecvTimeout()` 和 `setSendTimeout()` 方法来设置超时时间。 示例[代码](https://geek.csdn.net/educolumn/1572ef9b473b4e00f6b2bf6d428b7c27?spm=1055.2569.3001.10083): ```cpp #include <[thrift](https://geek.csdn.net/educolumn/326d92ba6b13fa0b291fe319eeeca050?spm=1055.2569.3001.10083)/transport/TTransportUtils.h> using namespace apache::thrift::transport; // 创建 TSocket 实例 std::shared_ptr<TSocket> socket = std::make_shared<TSocket>("localhost", 9090); // 设置超时时间为 5000 毫秒 socket->setRecvTimeout(5000); socket->setSendTimeout(5000); // 创建 TTransport 实例并指定 TSocket std::shared_ptr<TTransport> transport = std::make_shared<TFramedTransport>(socket); // 创建 TProtocol 实例 std::shared_ptr<TProtocol> protocol = std::make_shared<TBinaryProtocol>(transport); // 创建[客户](https://geek.csdn.net/educolumn/29be0cf856856f663010713fa7f8bb7f?spm=1055.2569.3001.10083)端实例 MyServiceClient client(protocol); // 连接服务器 transport->open(); // 调用服务的方法 client.