Как обнаружить полученное сообщение в DTLS?
Я реализую протокол DTLS для CoAP на C, C++. Как я вижу, я могу использовать OpenSSL или WolfSSL. Например WolfSSL:
https://github.com/wolfSSL/wolfssl-examples/blob/master/dtls/client-dtls-nonblocking.c
Но как я могу обнаружить, что какое-то сообщение было отправлено мне?
1 ответ
Решение
В неблокирующей операции у вас обычно есть точка в программе, где она ожидает, что любой из неблокирующих файловых дескрипторов сообщит о доступности данных.
В приведенном вами примере это select(...)
линия. На практике у вас либо есть такой централизованный выбор самостоятельно, либо основной цикл запускается другой библиотекой, в которую вы передаете дескрипторы, о готовности которых вы хотите получать уведомления (например, в GTK, который может быть g_source_add_unix_fd).