<分区>
我有一个线程在基于select()
的SSL_read()
上阻塞。主线程在需要时使用 SSL_write()
写入。在单元测试的过程中,我发现了一个问题:
- 客户端 TCP 套接字
connect()
到 SSL(TLS) 上的服务器 - 一段时间后,禁用互联网
- 在客户端 TCP/SSL 套接字上写入一些数据
即使没有互联网,SSL_write()
也会返回正确的写入字节数,而不是 0 或某些错误。这种互联网断开是任意的,既不太高也不太低。
我的期望是,每当互联网断开连接时,套接字应该生成一些有趣的事件,这是可检测的,我将停止套接字 + SSL 连接。
如果我必须建立一些客户端-服务器手工协议(protocol),那么这是可能的。
实现此类互联网检测的最佳方法是什么?
期待一个具有更少 CPU 周期和更少客户端服务器通信的解决方案。我敢肯定,这不是一个非常特殊的问题,因此之前肯定已经解决了。
[附:客户端套接字在Android和iOS等移动平台上打开,但我想知道一个通用的解决方案。]