gpt4 book ai didi

c - 在 C 套接字编程中刷新套接字流

转载 作者:太空狗 更新时间:2023-10-29 17:01:57 26 4
gpt4 key购买 nike

我想知道如何在用 C 进行套接字编程时刷新套接字流。我尝试了所有选项 - 使用以下代码设置 TCP_NODELAY -

setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));      

注意:所有的 flagsockfd 都声明正确。

我在 send() 之前和 send() 之后都使用了这个函数,但没有任何区别。

也有人建议在每次 send() 之后使用 shutdown() 但这只适用于一个实例。当我用它再次发送一些文本时,它不起作用 - 实际上连接在我使用 shutdown() 后关闭。

shutdown(sockfd, SHUT_WR);

有人可以在这方面提供帮助吗?

我想补充一点——服务器是 Java 套接字,客户端是 C 套接字。 C套接字实现JVMTI接口(interface),将信息发送给Java套接字。

最佳答案

在谷歌上做了一些研究,似乎没有办法显式刷新套接字流。您可以设置 TCP_NODELAY 然后它将关闭 TCP Nagle algorithm .这应该确保数据立即发送,而不是等到缓冲区已满才发送。

当您设置 TCP_NODELAY 时,您是否使用过 wireshark 或其他工具查看幕后发生的情况?

关于c - 在 C 套接字编程中刷新套接字流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171412/

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