从多个客户端读取多封邮件

时间:2019-06-17 18:10:17

标签: openssl tls1.2

我有一个TCP套接字服务器,并通过TLSv1.2与多个客户端进行通信。我正在使用OpenSSL。在当前架构中,多个客户端可以发送未知数量的未知大小的消息。

虽然服务器可以正常工作,但我仍然觉得我处理SSL_read的方式更像是一种变通方法,而不是适当的解决方案。问题是,当不再有来自客户端的传入消息时,SSL_read将提供臭名昭著的SSL_ERROR_WANT_READ。而且我不知道该区分是否意味着没有更多消息,或者仅仅是OpenSSL试图“使其工作”的正确方法。基本上我不确定何时停止阅读。

我使用了SSL_pending,但是因为SSL始终读取整个记录,所以SSL_pending始终返回0(即使有更多消息要来)。

在我当前的解决方案中,我重复阅读10次,如果失败,我假设没有更多消息并完成阅读。感觉不好

感谢您提供有关正确模式的建议。

0 个答案:

没有答案