gpt4 book ai didi

vxworks - 如何在 VxWorks 中为单个套接字设置 keepalive 选项

转载 作者:行者123 更新时间:2023-12-03 12:06:45 28 4
gpt4 key购买 nike

有没有办法在 vxworks 中为单个套接字描述符设置 keepalive?我在一些文档中读到,setsockopt 函数中的“SOL_TCP”选项会在 linux 中起到这样的作用。 VxWorks 中是否也提供此类功能?如果是这样,请提供相同的相关详细信息,例如我们需要包含哪些包含文件以及如何使用此类选项等。

最佳答案

从 VxWorks“库引用”手册(可以下载):

流式套接字选项

以下部分讨论可用于流 (TCP) 套接字的套接字选项。

SO_KEEPALIVE -- 检测死连接

指定 SO_KEEPALIVE 选项以使传输协议(protocol) (TCP) 启动计时器以检测死连接:

 setsockopt (sock, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof (optval));

这可以防止应用程序卡在无效连接上。此选项的 optval 值是整数(类型 int),1(打开)或 0(关闭)。
通过传输由计时器触发的零长度 TCP 段来验证连接的完整性,以强制对等节点做出响应。如果对等方在重复发送 后没有响应保持在线 段,连接被丢弃,所有协议(protocol)数据结构被回收,在连接上休眠的进程被唤醒, 超时错误。

超时超时可以通过两种方式发生。如果连接尚未建立, 保持在线 空闲 后计时器到期TCPTV_KEEP_INIT .如果连接建立,KEEPALIVE 计时器会在 没有流量时启动。 TCPTV_KEEP_IDLE .如果发送 后没有收到对端的响应保持在线 TCPTV_KEEPCNT 时间间隔 TCPTV_KEEPINTVL , TCP 假定连接无效。参数 TCPTV_KEEP_INIT , TCPTV_KEEP_IDLE , TCPTV_KEEPCNT , 和 TCPTV_KEEPINTVL 在文件 target/h/net/tcp_timer.h 中定义。

关于vxworks - 如何在 VxWorks 中为单个套接字设置 keepalive 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406906/

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