簡體   English   中英

Java / Android-獲取套接字輸出流會中斷執行,且不會啟動任何異常

[英]Java/Android - Getting socket output stream breaks execution with no exception launched

我正在調試管理套接字的線程,並且注意到當我調用getOutputStream()時,調試會中斷,並且不會引發任何異常。 我什至在Socket.getOutputStream()中添加了斷點,但是沒有辦法解決問題。 Java服務器正確接受連接並等待輸入(通過檢查inputStream.available())。 Socket和ServerSocket都來自SSLSocketFactory和SSLServerSocketFactory。

我正在使用Android Studio。

我究竟做錯了什么?

編輯:我什至試圖將結構從Thread更改為AsyncTask,但結果是相同的。 這真令人沮喪。

調試網絡連接有點棘手,因為可能會發生超時。

我也不確定非應用程序代碼(例如Socket.getOutputStream() )上的斷點是否真的起作用。 AndroidStudio中的SDK代碼可能與您的設備所使用的SDK代碼不同,這意味着斷點(設置為特定行)可能會以完全不同的方法結束(如果它們完全起作用)。

因此,我建議您更改代碼並添加日志語句,並在必要時添加sleep命令以減慢重要部分的速度。

對於SSL流量,我強烈建議您也查看傳輸的數據。 有一些應用程序捕獲設備上的流量,這些應用程序在沒有root權限的情況下運行。 稍后,您可以使用Wireshark在PC上調試流量,並查看問題是否是由客戶端和服務器之間的通信問題引起的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM