繁体   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