为什么使用ESTABLISHED和TIME

编程入门 行业动态 更新时间:2024-10-22 12:37:51
本文介绍了为什么使用ESTABLISHED和TIME_WAIT与同一个仿真器端口进行如此多的连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在使用Android Studio时,我正在努力寻找解决项目中两个永久性错误的方法

I am struggling to find some way to deal with two permanent errors in my project when using Android Studio

Emulator: emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037 Emulator: socketTcpLoopbackClientFor: error: fd 56668 above FD_SETSIZE (32768)

无论我使用哪个Android/API版本,这两个错误都不会消失.我发现与该端口的仿真器连接数有些奇怪.也许它是按这种方式工作的,或者我弄砸了一些东西,却找不到什么(我已经安装并从头开始重新安装Android Studio,并且仍然存在相同的问题)

No matter which Android/API version I use these two erros don't disapear. I find a bit weird the number of Emulator Connections to such port. Maybe it is desinged to work that way or maybe I messed upp some thing and I can't find what (I have unistall and reinstall Android Studio from scratch and same issue persist)

这是事件日志

01/06/2020 00:08 Gradle sync started 00:08 * daemon not running; starting now at tcp:5037 00:08 * daemon started successfully 00:08 Gradle sync finished in 2 s 418 ms (from cached state) 00:08 Executing tasks: [:app:assembleDebug] in project C:\WSs\FireStoreDemos\AppFirestore 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56296 above FD_SETSIZE (32768) 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56296 above FD_SETSIZE (32768) 00:08 Emulator: emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56668 above FD_SETSIZE (32768) 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56668 above FD_SETSIZE (32768) 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56928 above FD_SETSIZE (32768) 00:08 Emulator: socketTcpLoopbackClientFor: error: fd 56928 above FD_SETSIZE (32768) 00:08 Gradle build finished in 19 s 659 ms 00:08 Install successfully finished in 584 ms.: App restart successful without requiring a re-install.

当我运行应用程序时,错误消息仿真器:socketTcpLoopbackClientFor:错误:FD_SETSIZE(32768)上方的fd 60252"不断弹出.

And the error "Emulator: socketTcpLoopbackClientFor: error: fd 60252 above FD_SETSIZE (32768)" keeps poping up a lot every minute while I am running the application.

在这里,我认为很奇怪

C:\Users>netstat -ano | findstr "5037" TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 11880 TCP 127.0.0.1:5037 127.0.0.1:54602 ESTABLISHED 11880 TCP 127.0.0.1:5037 127.0.0.1:54631 ESTABLISHED 11880 TCP 127.0.0.1:5037 127.0.0.1:54643 ESTABLISHED 11880 TCP 127.0.0.1:5037 127.0.0.1:54647 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54648 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54649 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54650 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54662 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54663 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54665 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54666 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54667 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54668 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54669 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54670 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54671 ESTABLISHED 11880 TCP 127.0.0.1:5037 127.0.0.1:54672 TIME_WAIT 0 TCP 127.0.0.1:5037 127.0.0.1:54673 ESTABLISHED 11880 TCP 127.0.0.1:5037 127.0.0.1:54674 TIME_WAIT 0 TCP 127.0.0.1:54602 127.0.0.1:5037 ESTABLISHED 348 TCP 127.0.0.1:54631 127.0.0.1:5037 ESTABLISHED 5224 TCP 127.0.0.1:54634 127.0.0.1:5037 TIME_WAIT 0 TCP 127.0.0.1:54636 127.0.0.1:5037 TIME_WAIT 0 TCP 127.0.0.1:54639 127.0.0.1:5037 TIME_WAIT 0 TCP 127.0.0.1:54641 127.0.0.1:5037 TIME_WAIT 0 TCP 127.0.0.1:54643 127.0.0.1:5037 ESTABLISHED 348 TCP 127.0.0.1:54671 127.0.0.1:5037 ESTABLISHED 348 TCP 127.0.0.1:54673 127.0.0.1:5037 ESTABLISHED 348 C:\Users>

所以我的直接问题是:为什么到5037的ESTABLISHED和TIME_WAIT连接这么多?

So my straight question is: why so many ESTABLISHED and TIME_WAIT connections to 5037?

一些有用的评论可能会帮助我前进:Android Studio是否真的需要在启动过程中以及在运行/调试应用程序之前使用该端口?仅在调试时启动守护程序的任何技巧(作为一个糟糕的类比,在Spring Boot中进行编码时,我们不会使TomCat一直保持运行状态).我不明白为什么我在启动Android Studio之后立即收到此消息守护程序未运行;现在从tcp:5037开始",因为我尚未通过运行或调试都未开始有效地使用模拟器.

Some usefull comments that might help me to move forward: does Android Studio really needs to use such port during startup and before I run/debug the application? Any trick to only start the Daemon when debugging (as a poor analogy we don't keep TomCat up running all time when coding in Spring Boot). I can't understand why I get this message "daemon not running; starting now at tcp:5037" immediatly after started Android Studio since I didn't start to effectivelly use of the Emulator neither by run nor by debug yet.

推荐答案

作为直到现在我发现的唯一合理答案,我部分基于其他提案

As the only reasonable answer I found untill now, I am answering my own question partially based on other proposal

看来,仿真器的多核CPU可能是一个问题.因此,只需取消选中Avd Manager之后的多核CPU->选择仿真器->编辑->高级设置->多核CPU->取消选中此选项

It seems it is somehow an issue with Multi-core CPU from emulators. So just uncheck Multi-core CPU following Avd Manager -> Select emulator -> edit -> Advanced Settings -> Multi-core CPU -> UNCHECK this option

也许将来有人可以在这里添加更好的解释

Maybe in future someone can add a better explanation over here

更多推荐

为什么使用ESTABLISHED和TIME

本文发布于:2023-11-13 00:11:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1582870.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ESTABLISHED   TIME

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!