对于DTLS连接设置,我需要帮助以获取以下条件的callBack。
1)。当客户端发送ClientHello消息时,如果ServerHello没有超时,则在应用程序中经过一些配置的时间后,应该收到。
2)。如果服务器没有从客户端收到任何ClientHello,那么我在服务器端需要同样的事情,然后在一些配置的时间之后,应该收到超时。
我的问题是DOES OPENSSL提供此类功能,如果是,请让我知道,否则请告诉我如何实现此功能。
答案 0 :(得分:0)
要回答您的问题(1),您可以设置接收超时
BIO_ctrl(SSL_get_rbio(ssl), BIO_CTRL_DGRAM_SET_RECV_TIMEOUT, 0, &timeout);
然后在您的SSL_read错误处理检查BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP,您可以重试。 http://sctp.fh-muenster.de/
中有一个非常好的示例代码和解释同样在服务器端。有关编写简单DTLS服务器/客户端http://sctp.fh-muenster.de/dtls/dtls_udp_echo.c的信息,请参阅以下示例。
如果我是你,我将从上面链接中的DTLS.pdf文档开始。希望这会有所帮助。