[問題] Websocket使用套件websocketpp
--
※已找到問題,解釋寫在最後※
--
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux Ubuntu 20.04
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Websocketpp
Boost
Openssl
問題(Question):
為了開發連上加密貨幣交易所的websocket開始做功課
找到websocketpp這個套件的github提供範例程式且成功demo到未加密的階段
https://reurl.cc/EoNvd0
但在step7改成加密連線後卻在connect server時
得到回傳錯誤"Connection creation attempted failed"
餵入的資料(Input):
connect wss://ws.kraken.com
(加密貨幣交易所Kraken的websocket)
預期的正確結果(Expected Output):
Websocket連線上,後續要輸入特定的json格式得到報價ticker
錯誤結果(Wrong Output):
"Connection creation attempted failed"
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://ideone.com/WewHMt
補充說明(Supplement):
經過追查問題應該是出在150行的m_endpoint.get_connection()
但查進去卻看不出來問題在哪 囧
另外看了記載error code的websocketpp/error.hpp裡面的註解也只寫
"Connection creation attempted failed"
------------------
Fixed:
某位大大提醒我 don't trust examples
並且隨口題點了幾個檢查的地方
最後是發現如果要用加密websocket要在connect之前set_tls_init_handler
我把他寫在connect之後了 難怪連線的時候被拒絕
FYI
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.68.81 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1690878327.A.312.html
※ 編輯: nepholi (61.220.68.81 臺灣), 08/01/2023 16:29:07
→
08/01 17:25,
1年前
, 1F
08/01 17:25, 1F
→
08/01 17:26,
1年前
, 2F
08/01 17:26, 2F
感謝 迫於時程我只能繼續看已經完成8成左右的websocketpp
但也有資深的大大建議我去看看ccapi 之後有空會看看
※ 編輯: nepholi (61.220.68.81 臺灣), 08/01/2023 17:29:40
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章