【发布时间】:2018-07-31 20:57:22
【问题描述】:
我在我的 Raspberry Pi 和另一个以 Pi 为客户端的设备之间用 c 创建了一个套接字连接。
是否有处理从服务器接收到的数据包中的 TCP 标志?
特别是,如果响应具有 FIN 标志,我希望执行某些代码。
【问题讨论】:
-
你在你的树莓派上运行 Linux 吗?
标签: c sockets networking
我在我的 Raspberry Pi 和另一个以 Pi 为客户端的设备之间用 c 创建了一个套接字连接。
是否有处理从服务器接收到的数据包中的 TCP 标志?
特别是,如果响应具有 FIN 标志,我希望执行某些代码。
【问题讨论】:
标签: c sockets networking
您不需要观察 TCP 标志来检测 FIN。 recv 将返回 0。如果您想尝试观察 recv 是否会返回 0 而不会干扰套接字上的缓冲数据,您可以使用 MSG_PEEK,如果您需要它是非阻塞的,您可以将其与MSG_DONTWAIT 结合使用。
【讨论】: