gpt4 book ai didi

c - 发送 EPOLLIN 事件到 epoll_wait

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:17 24 4
gpt4 key购买 nike

是否可以手动发送EPOLLIN事件到epoll获取套接字文件描述符而不向套接字写入数据?

也许可以使用fcntlioctl 来停止epoll_wait 函数,不是吗?

更新:

我知道在大多数情况下这样做没有意义,但我认为这对我来说确实有意义。

我正在为我无法修改的程序编写网络插件。插件 API 给了我一个套接字 FD 并告诉我编写一个函数来从套接字中读取 n 字节。为此,我使用了 polarssl 库中的 ssl_read 函数,它将所有数据读入它自己的内部缓冲区,即超过 n 字节。

程序中发生了什么?当套接字接收到数据时,程序等待(epoll_wait),然后告诉插件读取大约 4kB 的数据。然后等待套接字接收下一个数据。当socket接收到12kB数据时,程序调用插件内的read函数,用ssl_read函数读取所有数据。结果,没有更多数据可用于套接字,但 polarssl 库有它自己的缓冲区,其中有大约 8kB 的可用数据。

所以现在我需要告诉程序调用插件的read函数,它不是直接从socket中读取数据,而是从内部中读取数据polarssl 缓冲区。

最佳答案

关于c - 发送 EPOLLIN 事件到 epoll_wait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25161929/

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