問題 解決Android中socket自動斷開連線

2021-08-01 02:37:10 字數 584 閱讀 9854

遇到的問題

連線上藍芽模組後,能夠正常讀數,藍芽資料傳送速率為0.03s每個。大概在傳送了342個資料之後,突然接收不到資料了。

後來查詢了資料,顯示原來android中藍芽socket通訊連線時長大概為120s,如果超過這個時間沒有操作,就會斷開連線。但是我想了一下,客戶端一直在讀取資料流的呀,怎麼是沒有操作呢??

查了關於心跳包的內容,覺得好像有點麻煩。因為我之前的程式並沒有用到service。

解決方法:然後抱著試試看的態度,從客戶端每隔一段時間(只要小於120秒就好)向藍芽模組傳送不被解析的指令。結果就不會出現socket斷開的情況了。(也就是說為了保持通訊正常,不僅要接收資料,還要傳送資料

大致像這樣:

if(frameshasread==framestoread)

catch (ioexception e)

}

還是很開心的。不過決定今後新建乙個工程的時候,改用service試試看,應該會條理清楚一點。

參考資料:

android簽名包安裝問題解決

安卓360加固後,簽名包有的手機安裝不了問題解決 1.使用360加固後,再使用jarsigner簽名打包 命令 jarsigner verbose keystore bar1 signedjar test signed.apk encrypted.apk bar1 2.部分手機安裝的時候,提示失敗,...

Android學習記錄及問題解決

1.android studio 3.2版沒有android device monitor的入口 2.照書學習 並做練習題。可以通過git管理多個分支,並用github託管。方法 1 android studio 中建工程,例如 beatbox 2 在主目錄中執行如下命令以建立本地git倉庫 git...

登入中的問題解決

判斷使用者名稱和密碼正確採取登入 public bool isvaliduser users ca paras 0 value ca.username paras 1 value ca.password 這裡如果是大於0的話 相當於用使用者名稱和密碼來查詢使用者表中的使用者id 並存在 如果不存在就...