【问题标题】:Cannot establish tcp connection to application launched from ant无法与从 ant 启动的应用程序建立 tcp 连接
【发布时间】:2014-08-13 23:33:08
【问题描述】:

我在 java 中实现了一个简单的 TCP Echo 服务器。 如果我从命令行启动它就可以正常工作。

但是如果我从 ant 启动它就行不通了。 我尝试了“java”和“exec”任务。 该进程已正确启动,但客户端无法连接到它。

实际上,本地客户端可以建立连接。但是远程客户端无法连接到我的 TCP 服务器。

蚂蚁是否对从它启动的应用程序设置了一些限制(沙盒?)?

【问题讨论】:

    标签: java ant tcp


    【解决方案1】:
    1. 检查您是否在正确的地址上监听。启动 shell 并在 Windows 上使用 netstat -ano,在 Unix 或 Mac 上使用 netstat -anp。
    2. 检查您的防火墙是否允许远程连接到您正在侦听的端口

    【讨论】:

    • 1.本地客户端可以建立连接。所以端口是正确的。 2. 如果我从命令行启动应用程序,远程客户端可以连接。问题出在蚂蚁身上。
    • 我不是说查端口,而是查地址。如果您在 127.0.0.1 上监听,您将无法远程连接。使用命令行和 ant 进行测试。看看有没有区别。
    • 我当然是在本地主机上收听。 serverSocket = 新的 ServerSocket(端口);我的客户正在连接到我从 ipconfig 获得的 IP 地址。
    • 如果您在 localhost(即 127.0.0.1)上监听,那么您将无法远程连接。 ipconfig 不应该给你本地主机。你能提供netstat 命令的结果吗?这会很有帮助。
    • 最后还是防火墙问题。奇怪的是,防火墙的行为取决于 tcp 服务器是从 ant 还是从命令行启动的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多