当前位置: 首页 > 面试题库 >

java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)

司寇灵均
2023-03-14
问题内容

我想在PC和带WiFi的手机之间传输一些数据。

这是我获取WiFi IP地址的方法:

String ip  = String.format(
                    "%d.%d.%d.%d",
                    (wifiInfo.getIpAddress() & 0xff),
                    (wifiInfo.getIpAddress() >> 8 & 0xff),
                    (wifiInfo.getIpAddress() >> 16 & 0xff),
                    (wifiInfo.getIpAddress() >> 24 & 0xff));

new Recive().execute(ip);

这是有关向PC发送消息的代码:

Socket socket = null;
String message = "test\r\n";
protected Void doInBackground(String... urls) {
    try {
        Log.i("ip", urls[0]);
        socket = new Socket(urls[0], 2468);
        toserver = new DataOutputStream(socket.getOutputStream());
        toserver.writeBytes(message);

        toserver.flush();
        toserver.close();
        socket.close();
        return null;
    } catch (Exception e) {
        Log.i("e", e.toString());
        return null;
    }
}

但是发生错误

java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)

此外,我使用Android手机来运行该应用程序。


问题答案:

一个connect failed: ECONNREFUSED (Connection refused)最有可能的手段,没有什么侦听该端口和IP地址。可能的解释包括:

  • 服务已崩溃或尚未(成功!)启动,
  • 您的客户端尝试使用错误的IP地址或端口进行连接,
  • 您的客户端正在尝试使用解析为错误IP的DNS名称进行连接,或者
  • 代表服务器/服务“拒绝”的防火墙阻止了服务器访问。鉴于通常的做法(这些天)是为了让防火墙“黑洞”所有不需要的连接尝试,因此这 几乎不可能的

请注意,虽然您有一个名为的数组变量urls,但它不能包含真实的URL。没有Socket采用任何形式的真实URL
的构造函数的重载。确实,如果您以这样的字符串形式提供URL:

 new Socket("http://example.com", 42)

结果将是一个不同的例外。同样,如果您尝试连接到无法路由到的网络上的IP地址(例如“其他WiFi网络”),则会收到不同的例外;例如“找不到主机”,“没有路由到主机”或“没有路由到网络”。



 类似资料:
  • 问题内容: 我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,出现以下错误: 我尝试更改套接字号以防万一,但无济于事,有谁知道导致此错误的原因和解决方法。 服务器代码: 客户代码: 问题答案: 此异常意味着你尝试连接的IP /端口上没有侦听服务: 你试图连接到错误的IP /主机或端口。 你尚未启动服务器。 你的服务器没有监听连接。 在Windows服务器上,

  • 问题内容: 我正在开发一个应用程序,我想做的是从android中的服务器数据库接收数据。因此,我开始运行一些教程。我发现一个正在做我想做的事。但我得到: 本教程的整个代码在这里链接 发生错误: 我检查了一下: 防火墙已禁用 ping正在工作 连接字符串与从服务器管理界面运行servlet时完全相同 --servlet正在运行 我的配置: 服务器:Glass Fish 4.0 Android应用程序

  • 问题内容: 我在用 Windows 7的 Netbeans IDE 7.1.2 SQL Server管理Studio Express 2005 JDK1.6 连接到数据库时出现以下错误: com.microsoft.sqlserver.jdbc.SQLServerException:与主机的TCP / IP连接失败。java.net.ConnectException:连接被拒绝:connect 我

  • 当我在配置单元中运行以下查询时: 这怎么解决呢? 谢谢

  • 我试图实现一个TCP连接,在服务器端一切正常,但当我运行客户端程序(从客户端计算机)时,我得到以下错误: 服务器代码: 客户端代码:

  • 问题内容: 我正在使用Android Studio v1.0.1在macOS Yosemite 10.10中构建应用程序。当我尝试调试应用程序时,它可以正确安装但出现错误 运行[app]时出错:无法打开调试器端口:java.net.ConnectException“拒绝连接” 当我运行DDMS时,它会显示连接的设备和过程。仅在尝试在Android Studio中进行调试时才会出现问题。 在其他论坛