作者wowhorng (筑梦踏实)
看板LinuxDev
标题[问题] SSL 连接怎样判断对方已经断线了?
时间Tue Dec 8 21:26:39 2015
请问各位高手们,
我是通过 SSL_read 来读取对方传进来的数值在做相对应的动作,
但是现在遇到三个问题
1. 使用 SSL_read时,程式会一直停在 SSL_read 函式这里,如何跳过呢?
2. 如何判断对方已经断线了? 假如得知对方断线,如何自动重新连线呢?
3. 如何检查判断网路连线中断? 想要自动连线应该如何做比较好 ??
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.53.61
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1449581201.A.FEA.html
1F:推 Qbsuran: 1.SSL_read我记得不会block 传回0表示没资料 会block的 12/09 21:13
2F:→ Qbsuran: 话就用select 12/09 21:13
3F:→ Qbsuran: 2. SSL_read传回-1去检查error code, ssl_do_handshake( 12/09 21:14
4F:→ Qbsuran: ) 12/09 21:14
5F:→ wowhorng: 停在 SSL_read 这里, 就像是阻塞在这边一样 ~~, 12/09 21:27
6F:→ wowhorng: 有什麽方式可以让 SSL_read 往下跑, 非停留等待 read ? 12/09 21:28
7F:推 Qbsuran: 在一开始会开socket 用select看他有没有资料进来 12/09 21:39
8F:→ Qbsuran: 你是不是要做HTTPS Server啊 12/09 21:40
9F:→ wowhorng: 要做 cloud client, 程式会停在 SSL_read 等待 server 12/09 22:40
10F:→ wowhorng: 等待 server 传送指令过来 12/09 22:41
11F:推 askacis: socket 要设 timeout 12/10 08:40
12F:→ askacis: 就算 block 如果对方 socket close,会 read到 0 12/10 08:42