作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在Unix套接字中禁用Nagle的算法,这可能吗?
因为我可以在教程中找到所有用于禁用它的功能,但这仅适用于TCP套接字。这是我的Unix套接字初始化代码。
struct sockaddr_un local, remote;
u8 str[0xFFFF];
struct client_info cl;
if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
{
perror("socket");
exit(1);
}
local.sun_family = AF_UNIX;
strcpy(local.sun_path, SOCK_PATH);
unlink(local.sun_path);
len = strlen(local.sun_path) + sizeof(local.sun_family);
if (bind(s, (struct sockaddr *)&local, len) == -1)
{
perror("bind");
exit(1);
}
if (listen(s, 5) == -1)
{
perror("listen");
exit(1);
}
int result = setsockopt(sock, /* socket affected */
IPPROTO_TCP, /* set option at TCP level */
TCP_NODELAY, /* name of option */
(char *) &flag, /* the cast is historical
cruft */
sizeof(int)); /* length of option value */
if (result < 0)
// ...
最佳答案
Nagle算法是一种TCP/IP专用算法,用于减少数据包开销。 UNIX套接字中没有涉及TCP/IP,因此Nagle算法不能在该套接字中应用。这也意味着它不能被禁用。
关于c - 如何在C语言的Unix套接字上禁用Nagle算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60928166/
我是一名优秀的程序员,十分优秀!