[問題] SSL 連接怎樣判斷對方已經斷線了?

看板LinuxDev作者 (築夢踏實)時間9年前 (2015/12/08 21:26), 編輯推噓3(309)
留言12則, 3人參與, 最新討論串1/1
請問各位高手們, 我是通過 SSL_read 來讀取對方傳進來的數值在做相對應的動作, 但是現在遇到三個問題 1. 使用 SSL_read時,程式會一直停在 SSL_read 函式這裡,如何跳過呢? 2. 如何判斷對方已經斷線了? 假如得知對方斷線,如何自動重新連線呢? 3. 如何檢查判斷網路連線中斷? 想要自動連線應該如何做比較好 ?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.53.61 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1449581201.A.FEA.html

12/09 21:13, , 1F
1.SSL_read我記得不會block 傳回0表示沒資料 會block的
12/09 21:13, 1F

12/09 21:13, , 2F
話就用select
12/09 21:13, 2F

12/09 21:14, , 3F
2. SSL_read傳回-1去檢查error code, ssl_do_handshake(
12/09 21:14, 3F

12/09 21:14, , 4F
)
12/09 21:14, 4F

12/09 21:27, , 5F
停在 SSL_read 這裡, 就像是阻塞在這邊一樣 ~~,
12/09 21:27, 5F

12/09 21:28, , 6F
有什麼方式可以讓 SSL_read 往下跑, 非停留等待 read ?
12/09 21:28, 6F

12/09 21:39, , 7F
在一開始會開socket 用select看他有沒有資料進來
12/09 21:39, 7F

12/09 21:40, , 8F
你是不是要做HTTPS Server啊
12/09 21:40, 8F

12/09 22:40, , 9F
要做 cloud client, 程式會停在 SSL_read 等待 server
12/09 22:40, 9F

12/09 22:41, , 10F
等待 server 傳送指令過來
12/09 22:41, 10F

12/10 08:40, , 11F
socket 要設 timeout
12/10 08:40, 11F

12/10 08:42, , 12F
就算 block 如果對方 socket close,會 read到 0
12/10 08:42, 12F
文章代碼(AID): #1MPjgH_g (LinuxDev)
文章代碼(AID): #1MPjgH_g (LinuxDev)