1

在现有的 DTLS 连接上,即 DTLS 握手已经在端口 5000 上成功完成,如果服务器获得传入的 DTLS 连接,即 DTLS 客户端 Hello 数据包,则 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

4

1 回答 1

1

已经找到问题的解决方案。

发现的问题有两个:

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

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

在提供适当的参数并生成新的 SSL 句柄后,问题就解决了。无论如何感谢您的评论。

于 2016-08-03T05:34:23.580 回答