Java / Android - 获取套接字输出流中断执行,无异常启动

时间:2018-04-04 11:49:12

标签: java android sockets debugging outputstream

我正在调试管理套接字的线程,我注意到当我调用getOutputStream()时,调试会中断而不会抛出任何异常。我甚至在Socket.getOutputStream()中添加了断点,但是没有办法弄清楚什么是错的。 Java服务器正确接受连接并等待输入(通过检查inputStream.available())。 Socket和ServerSocket都来自SSLSocketFactory和SSLServerSocketFactory。

我正在使用Android Studio。

我做错了什么?

编辑:我甚至尝试将结构从Thread更改为AsyncTask,但结果是一样的。这令人沮丧。

1 个答案:

答案 0 :(得分:1)

调试网络连接有点棘手,因为可能会发生超时。

我也不确定非应用程序代码(如SELECT name, COUNT(*) from language join film using (language_id) JOIN film_actor using (film_id) GROUP by name )上的断点是否真的有效。 AndroidStudio中的SDK代码可能与您的设备使用的代码不同,这意味着断点(设置为特定行)可能以完全不同的方式结束(如果它们完全有效)。

因此我建议更改您的代码并添加日志语句,如果需要,还可以使用sleep命令来减慢重要部分的速度。

对于SSL流量,我强烈建议您查看传输的数据。有些应用程序捕获在没有root权限的情况下运行的设备上的流量。之后,您可以使用Wireshark调试PC上的流量,看看问题是否是由客户端和服务器之间的通信问题引起的。