gpt4 book ai didi

java - 为什么 IntelliJ 要接受传入的网络连接?

转载 作者:太空狗 更新时间:2023-10-29 22:36:01 25 4
gpt4 key购买 nike

➠ IntelliJ 中的什么功能充当服务器来接受传入连接?

首次运行 IntelliJ 2017.1.1 时,我会看到一个对话框,询问传入网络连接的权限。

Do you want the application “java” to accept incoming network connections?

Clicking Deny may limit the application’s behavior. This setting can be changed in the Firewall pane of Security & Privacy preferences.

[Deny] [Allow]

screenshot of dialog box asking permission to accept incoming network connections

在新建项目向导中,单击 Maven 选项卡时,全新安装的 IntelliJ 2017.2 Ultimate 版出现的对话框示例。

screen shot of Apple macOS firewall message asking "Do you want the application java to accept incoming network connections" in the Maven tab of the New Project wizard

为什么 IntelliJ 会导致此提示?我在运行 NetBeans 时没有遇到此类事件。

拒绝或接受的效果究竟是什么?我担心让 Java 进程接受外部网络连接,因为这样做会带来严重的安全风险。

可能与:


这个问题不是消息的来源。来源是 Apple macOS app-level firewall .您可以允许或阻止应用监听传入的网络连接。允许这样做是安全风险

IntelliJ 要求将其添加到允许监听传入消息的应用程序列表中。我的问题是,“为什么 IntelliJ 需要接受传入的网络连接?”。

screen shot of macOS > System Preferences > Security & Privacy > Firewall

最佳答案

可能它链接到下面。

如果您点击 http://localhost:63342/你应该能够访问 built-in server .默认情况下应该只在本地接口(interface)上监听。

IntelliJ built-in server

6942-6992 范围内的开放端口似乎链接到 SocketLock.java

myServer = BuiltInServer.startNioOrOio(workerCount, 6942, 50, false, handler);

注意端口 6953、6969、6970 不在该范围内。参见 BuiltInServer.java

private static final int[] FORBIDDEN_PORTS = {6953, 6969, 6970};

另一个打开的端口链接到一个进程org.jetbrains.idea.maven.server.RemoteMavenServer

jps -l | grep jetbrains
24628 org.jetbrains.idea.maven.server.RemoteMavenServer

你可以用netstat找到开放的端口

on Linux: `netstat -ltupne`
on OSX (something like): nettop -np java

jps相关的java进程(如上图)

关于java - 为什么 IntelliJ 要接受传入的网络连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com