釘釘小程式Websocket鏈接Andriod實機鏈接失敗,釘釘開發工具,真機除錯,iOS實機均無問題
- 大致介紹
- 使用釘釘小程式原生的websocket鏈接方式創建鏈接,握手后升級為socket鏈接
- 使用Stomp包實作鏈接,發送,接收資料,
- 問題描述
- (以下所有客戶端均指代Android實機客戶端)
- 釘釘小程式開發工具實測socket鏈接無問題,順利鏈接
- IOS系統socket鏈接無問題,順利鏈接
- Andriod系統鏈接失敗—http握手成功,服務端收到客戶端發來的第一條資訊,經過轉二進制發現報文結構不符合stomp標準,缺少Stomp的報文結束符
\u0000客戶端無法識別,自動洗掉結束符及其之后的內容導致服務端認為報文沒有結束,處于等待繼續接收報文狀態,(第一種情況) - Andriod系統鏈接失敗—http握手成功,服務端未收到客戶端發來的資訊(第二種情況)
- 客戶端通過將報文轉base64后發送至服務端,服務端成功接收并識別,后向客戶端發送報文,發送報文內容同樣含有結束符
\u0000,客戶端收到后無法識別報文結束,處于等待繼續接收狀態,導致后續報文均無法接收,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291614.html
標籤:其他
