[问题] SSL 连接怎样判断对方已经断线了?

楼主: wowhorng (筑梦踏实)   2015-12-08 21:26:39
请问各位高手们,
我是通过 SSL_read 来读取对方传进来的数值在做相对应的动作,
但是现在遇到三个问题
1. 使用 SSL_read时,程式会一直停在 SSL_read 函式这里,如何跳过呢?
2. 如何判断对方已经断线了? 假如得知对方断线,如何自动重新连线呢?
3. 如何检查判断网络连线中断? 想要自动连线应该如何做比较好 ??
作者: Qbsuran (Qbsuran)   2015-12-09 21:13:00
1.SSL_read我记得不会block 传回0表示没资料 会block的话就用select2. SSL_read传回-1去检查error code, ssl_do_handshake()
楼主: wowhorng (筑梦踏实)   2015-12-09 21:27:00
停在 SSL_read 这里, 就像是阻塞在这边一样 ~~,有什么方式可以让 SSL_read 往下跑, 非停留等待 read ?
作者: Qbsuran (Qbsuran)   2015-12-09 21:39:00
在一开始会开socket 用select看他有没有资料进来你是不是要做HTTPS Server啊
楼主: wowhorng (筑梦踏实)   2015-12-09 22:40:00
要做 cloud client, 程式会停在 SSL_read 等待 server等待 server 传送指令过来
作者: askacis (ASKA)   2015-12-10 08:40:00
socket 要设 timeout就算 block 如果对方 socket close,会 read到 0

Links booklink

Contact Us: admin [ a t ] ucptt.com