在同一端口

时间:2016-07-15 07:47:04

标签: c openssl cryptography dtls

在现有的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

1 个答案:

答案 0 :(得分:1)

找到问题的解决方案。

发现的问题有两个:

  1. 在具有另一个DLTS连接的端口上获取传入DTLS连接时,需要生成另一个SSL句柄并将其视为单独的DTLS连接。

  2. SSL_Read调用中提供的长度必须正确。

  3. 在提供适当的参数并生成新的SSL句柄后,问题得以解决。非常感谢您的评论。