gpt4 book ai didi

c - 有没有办法刷新 POSIX 套接字?

转载 作者:太空狗 更新时间:2023-10-29 16:20:55 24 4
gpt4 key购买 nike

是否有一个标准调用来将 POSIX 套接字的传输端一直刷新到远程端,或者这是否需要作为用户级协议(protocol)的一部分来实现?我环顾了通常的标题,但找不到任何东西。

最佳答案

如何设置 TCP_NODELAY 而不是将其重置?可能它可以在发送重要数据之前完成,或者在我们完成发送消息时完成。

send(sock, "notimportant", ...);
send(sock, "notimportant", ...);
send(sock, "notimportant", ...);
int flag = 1;
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));
send(sock, "important data or end of the current message", ...);
flag = 0;
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));

正如 linux 手册页所说

TCP_NODELAY ... setting this option forces an explicit flush of pending output ...

所以在消息之后设置它可能会更好,但我不确定它在其他系统上如何工作

关于c - 有没有办法刷新 POSIX 套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/855544/

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