DTLS:客户端重新传输超时/服务器消息等待超时

时间:2014-02-11 12:05:22

标签: c openssl dtls

对于DTLS连接设置,我需要帮助以获取以下条件的callBack。

1)。当客户端发送ClientHello消息时,如果ServerHello没有超时,则在应用程序中经过一些配置的时间后,应该收到。

2)。如果服务器没有从客户端收到任何ClientHello,那么我在服务器端需要同样的事情,然后在一些配置的时间之后,应该收到超时。

我的问题是DOES OPENSSL提供此类功能,如果是,请让我知道,否则请告诉我如何实现此功能。

1 个答案:

答案 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文档开始。希望这会有所帮助。