- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 TCP 套接字上的对等方之间有一个简单的 P2P 连接。我的客户端和服务器都在 Linux 上运行。我已开启TCP keep_alive functionality在我两边的 TCP 套接字上。我正在使用 boost::asio要连接,请在两侧的 tcp 套接字上读取写入数据。
tcp keep_alive 示例使用 IPPROTO_TCP
和 SOL_SOCKET
这令人困惑。以下是我在套接字上设置的属性。但我很困惑是否使用 IPPROTO_TCP
或 SOL_SOCKET
因为它们在两个平台上都编译得很好。
代码:
int on = 1;
setsockopt(socketNativeHandle, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(int)
int timeOut = 3; //seconds
setsockopt(socketNativeHandle, IPPROTO_TCP, TCP_KEEPIDLE, &timeOut, sizeof(int)
setsockopt(socketNativeHandle, IPPROTO_TCP, TCP_KEEPINTVL, &timeOut, sizeof(int))
int unackCount = 1;
setsockopt(socketNativeHandle, IPPROTO_TCP, TCP_KEEPCNT, &unackCount, sizeof(int))
int on = 1;
setsockopt(socketNativeHandle, SOL_SOCKET, TCP_NODELAY, &on, sizeof(int)
int timeOut = 3; //seconds
setsockopt(socketNativeHandle, SOL_SOCKET, TCP_KEEPIDLE, &timeOut, sizeof(int)
setsockopt(socketNativeHandle, SOL_SOCKET, TCP_KEEPINTVL, &timeOut, sizeof(int))
int unackCount = 1;
setsockopt(socketNativeHandle, SOL_SOCKET, TCP_KEEPCNT, &unackCount, sizeof(int))
SOL_SOCKET
两边还是我应该使用
IPPROTO_TCP
两边?有没有办法在运行时决定这个?请注意,我有非常简单的点对点 wifi 连接。
最佳答案
SOL是socket_level的缩写,专为SO_*
设计。选项,例如 SO_REUSEPORT
IPPROTO_*
专为特定网络协议(protocol)的选项而设计,例如 IPPROTO_IP、IPPROTO_TCP
更多的:
关于linux - IPPROTO_TCP 或 SOL_SOCKET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047147/
我在 TCP 套接字上的对等方之间有一个简单的 P2P 连接。我的客户端和服务器都在 Linux 上运行。我已开启TCP keep_alive functionality在我两边的 TCP 套接字上。
我在查找有关 socket 的第三个参数的这些设置之间的区别的文档时遇到了一些麻烦。是。我知道 TCP 和 UDP 及其差异,而且 IP 是堆栈上的一层(下?)...无论我将其设置为 IPPROTO_
编译时出现警告 In file included from server.c:48: unixwin.h:23:1: warning: "IPPROTO_TCP" redefined In file
我的代码失败了。我以 root 身份运行(与普通用户相同的行为) 首先我想设置TOS,然后获取值。 int tos_local = 0x28; if (setsockopt(sockfd, IPPRO
我希望能够设置 TCP 套接字 KEEPALIVE 参数(TCP_KEEPIDLE、TCP_KEEPINTVL 和 TCP_KEEPCNT),但这些在 Socket 中似乎不可用。类(class)。基
我是一名优秀的程序员,十分优秀!