我想为我多年前写的旧聊天应用程序添加一个ssl支持。我在OpenSSL和LibreSSL上做了大量的阅读,并决定尝试一个新的libtls API。我认为开发人员在这个方面做得非常出色。 我发现它非常易于使用 - 几乎不需要对现有代码进行更改。但现在我需要弄清楚一件事:libtls:select()和tls_read()一起工作
早在一天中,我就使用select()来监视套接字并使用recv()来读取数据。这很容易,因为这两个函数都在处理文件描述符。
现在,在libtls中,函数tls_read()需要tls上下文作为第一个参数。这意味着我需要在每次准备好读取描述符时搜索客户端列表以获取适当的tls上下文。这并不难,但也许有人知道更好的解决方案?我会欣赏所有评论和代码示例。
请分享一些代码和一个明确的问题。 http://stackoverflow.com/help/how-to-ask – bibi