gpt4 book ai didi

c++ - libevent bufferevent 套接字刷新

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:10 27 4
gpt4 key购买 nike

我会保持简短。如何以阻塞方式将 bufferevent 输出缓冲区中等待的数据直接刷新到套接字。

在进行异步写入(使用 evbuffer_add)后关闭我的套接字包装器类时,libevent 吐出 epoll 错误,表示尝试写入无效的 fd .我需要能够将挂起的 libevent 数据刷新到套接字,有什么建议吗?

注意:具体报错是Epoll MOD(4) on fd 9 failed。旧事件为 6;读取更改为 2 (del);写入更改为 0(无):错误的文件描述符。

最佳答案

您是否尝试过禁用套接字延迟?禁用套接字延迟会导致套接字在关闭套接字之前不等待未发送的数据。

struct linger linger;
memset(&linger, 0, sizeof(struct linger));
retVal = setsockopt(sock, SOL_SOCKET, SO_LINGER, (const void*)&linger, sizeof(struct linger));

关于c++ - libevent bufferevent 套接字刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288954/

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