我在 C、C++ 上为 CoAP 实现 DTLS 协议。如我所见,我可以使用 OpenSSL 或 WolfSSL。例如 WolfSSL:
https://github.com/wolfSSL/wolfssl-examples/blob/master/dtls/client-dtls-nonblocking.c
但是我怎样才能检测到某些消息已发送给我呢?
在非阻塞操作中,您通常在程序中有一个点,它等待任何非阻塞文件描述符报告数据的可用性。
在您链接的示例中,就是这样select(...)
。在实践中,您要么自己拥有这样的中央选择,要么让主循环由另一个库运行,您将要通知其准备情况的描述符传递给该库(例如,在 GTK 中可能是g_source_add_unix_fd)。