小编and*_*911的帖子

TCPDump-Buffer 上的 ReadLine 有时会阻塞,直到杀死 tcpdump

我在 Android 应用程序中使用 TCPDump 时遇到问题。\n它应该逐行读取 tcpdump 的输出并在我的应用程序中处理它。
问题是:
有时代码工作正常,它会立即读取捕获的数据包。但有时,ReadLine 会阻塞,直到我从 Linux 控制台终止 tcpdump 进程(killall tcpdump)。这样做之后,我的循环会针对每一行进行处理(有时是 10 行,有时是 1 或 2 行) - 这意味着 readLine 应该有效,但没有 \xc2\xb4t。\n \n我读到了
类似的问题,但没有找到这个问题的任何解决方案...
谢谢!

\n\n
public class ListenActivity extends Activity {\n\nstatic ArrayList<Packet> packetBuffer = new ArrayList<Packet>();\nstatic Process tcpDumpProcess = null;\nstatic ListenThread thread = null;\npublic static final String TCPDUMP_COMMAND = "tcpdump -A -s0 | grep -i -e \'Cookie\'\\n";\n\nprivate InputStream  inputStream = null;\nprivate OutputStream outputStream = null;\n\n@Override\nprotected void onStart() {\n    super.onStart();\n    try {\n        tcpDumpProcess = new ProcessBuilder().command("su").redirectErrorStream(true).start();\n …
Run Code Online (Sandbox Code Playgroud)

java android tcpdump

3
推荐指数
1
解决办法
3499
查看次数

标签 统计

android ×1

java ×1

tcpdump ×1