Hi everyone, I have an issue with the C# implementation. In the DTLS handshake, the last flight from the server to the client must contain Finished message. Imagine that this message is lost. In this case, under RFC 6347, client, who never receives the Finished message from server, will send its messages again. In response, server must re-transmit Finished message (despite being in the FINISHED state).
It seems as though, when server reaches FINISHED state, it stops triggering public int Receive(byte[] buf, int off, int len, int waitMillis) method. Thus, it is not receiving the repeated requests from the client and never responds to them (with the retransmit of the Finished message). However, if I trigger it programmatically, then the server retransmits its last flight. Is there something I could be missing. Perhaps, you are running an internal thread that exits when the server reaches Finished state? Thanks in advance and hope this is not too confusing! Andriy