桌面柜有时候连接不上服务端

有时候连接不上服务端


额外学到知识:
使用keepalive功能代码

点击查看代码
static rt_err_t socket_keepalive_cfg(int socket_fd)
{    
    int keepalive = 1;      //Enable keepalive.    
    int keepidle = 30;      //idle time is 60s.    
    int keepinterval = 5;   //sending interval of detective packet    
    int keepcount = 3;      //detective count.    
    int flag = 1;    
    if (setsockopt(socket_fd, SOL_SOCKET, SO_KEEPALIVE, (void *)&keepalive, sizeof(keepalive)) < 0)
    {        
        LOG_E("set Keep-Alive attribute failed\n");        
        return -RT_ERROR;    
    }    
    setsockopt(socket_fd, IPPROTO_TCP, TCP_KEEPIDLE, (void*)&keepidle , sizeof(keepidle));    
    setsockopt(socket_fd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&keepinterval , sizeof(keepinterval));    
    setsockopt(socket_fd, IPPROTO_TCP, TCP_KEEPCNT, (void *)&keepcount , sizeof(keepcount));    
    setsockopt(socket_fd, IPPROTO_TCP, TCP_NODELAY, (void *)&flag , sizeof(flag));    
    return RT_EOK;
}

截取数据
image
关闭服务端和断开网线
image

参考文章1
参考文章2,参数解释
参考文章3

posted @   我爱茜茜公主  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示