c++ http服务器客户端程序-超时时间设置(5)

该示例展示了如何在服务器和客户端程序中设置读写超时和空闲间隔,确保网络通信的效率和可靠性。服务器使用httplib库设置读写超时分别为5秒,并设定100毫秒的空闲间隔。客户端同样配置了连接、读取和写入的超时时间,以防止长时间无响应导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般情况下,服务器客户端存在读写超时时间存在,因此某些情况需要设置一个超时时间

服务器程序设置超时时间:

#include "httplib.h"
#include <string>

using namespace httplib;

int main()
{
    Server svr;
    svr.set_read_timeout(5, 0); // 5 seconds
    svr.set_write_timeout(5, 0); // 5 seconds
    svr.set_idle_interval(0, 100000); // 100 milliseconds

    svr.Get("/hi", [](const Request& req, Response& res) 
    {
        res.set_content("Hello World!", "text/plain");
    });
    svr.Get("/stop", [&](const Request& req, Response& res)
    {
        svr.stop();
    });

    svr.listen("localhost", 1234);

    return 0;
}
 

客户端程序设置:

#include <string>
using namespace httplib;
using namespace std;

int main()
{
    httplib::Client cli("localhost", 1234);
    cli.set_connection_timeout(0, 300000); // 300 milliseconds
    cli.set_read_timeout(20, 0); // 20 seconds
    cli.set_write_timeout(5, 0); // 5 seconds
    if(auto res = cli.Get("/hi"))
    {
        if (res->status == 200) 
        {
            std::cout << res->body << std::endl;
        }
    }
    else 
    {
        auto err = res.error();
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值