在现有的DTLS连接上,即如果服务器获得传入的DTLS连接(即DTLS客户端Hello数据包),则已在端口5000上成功完成DTLS握手,则SSL_read正在生成SSL_ERROR_SYSCALL
。
任何人都可以告诉我原因。
场景是客户端已在服务器的端口5000上与服务器建立了DTLS连接。客户端更改的IP地址可能是由于从Wi-Fi过渡到3G,反之亦然。因此,现在客户端将再次尝试在服务器的同一端口5000上与服务器建立DTLS连接。
请有人告诉我
Q1。为什么SSL_read正在生成错误SSL_ERROR_SYSCALL以及可以采取哪些措施来继续?
Q2。我们是否可以在同一端口上的现有DTLS连接上处理另一个传入DTLS连接而不清理现有的DTLS连接?
提前感谢您的帮助, Vineet Srivastava
答案 0 :(得分:1)
找到问题的解决方案。
发现的问题有两个:
在具有另一个DLTS连接的端口上获取传入DTLS连接时,需要生成另一个SSL句柄并将其视为单独的DTLS连接。
SSL_Read调用中提供的长度必须正确。
在提供适当的参数并生成新的SSL句柄后,问题得以解决。非常感谢您的评论。