微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不向客户端写入任何数据的情况下向客户端触发套接字上可用的数据?

如何解决如何在不向客户端写入任何数据的情况下向客户端触发套接字上可用的数据?

我有一个特殊的情况。由于公司政策和其他因素,我不得不编写自己的库来访问 REdis 服务器。我用 C++ 编码并使用了 C hiredis 库,使用了他们的 async API。最后,我使用了 ASIO

在开发中,一切顺利,没有问题。但是在集成/生产中,我收到了 Resource Temporarily Unavailable错误

跟踪到 hiredis,我在他们的 ssl.c 代码中看到他们将 EAGAIN 作为致命错误处理并取消所有待处理的请求。我在我的库中编写了重试逻辑来处理这种情况,但是我无法在本地重现该问题,因此我无法确定我的代码是否有效。

因此问题 - 我想修改 redis 源,通过在第一个请求时向客户端发送数据可用性信号来强制导致错误发生,而不实际将任何数据写入套接字。

主要问题 - 我不知道如何实现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。