作者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/m.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