You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用无法连接SocketIO服务,浏览器可访问本地链接如何解决

问题解决方案

1. 解决Android高版本明文流量限制

Android 9(API Level 28)及以上系统默认禁止所有HTTP明文流量请求,你当前使用的是http协议的本地地址,属于明文请求,会被系统拦截,两种修复方式:

  • 直接在AndroidManifest.xml的<application>标签中添加属性:
android:usesCleartextTraffic="true"
  • 若需要更精细的控制,可配置网络安全规则,仅放行当前本地地址的明文请求。

2. 确认Socket.IO客户端与服务端版本匹配

Socket.IO的客户端和服务端存在严格的版本对应关系:

  • 你当前使用的io.socket:socket.io-client:2.0.0仅兼容服务端2.x版本
  • 若你的服务端是3.x/4.x版本,需要将客户端依赖升级到匹配版本,比如服务端为4.x时可使用io.socket:socket.io-client:2.1.0及以上适配版本。

3. 添加连接错误日志监听定位问题

你当前代码没有捕获连接异常,也没有监听连接错误事件,无法定位具体报错原因,可修改代码添加事件监听:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import io.socket.client.IO;
import io.socket.client.Socket;

import java.net.URISyntaxException;

public class MainActivity extends AppCompatActivity {
    private Socket mSocket;
    private static final String TAG = "SocketIOTest";
    {
        try {
            mSocket = IO.socket("http://192.168.1.2:3000/");
            // 添加连接错误监听
            mSocket.on(Socket.EVENT_CONNECT_ERROR, args -> {
                Log.e(TAG, "连接错误: ", (Throwable) args[0]);
            });
            mSocket.on(Socket.EVENT_CONNECT, args -> {
                Log.d(TAG, "连接成功");
            });
            mSocket.on(Socket.EVENT_DISCONNECT, args -> {
                Log.d(TAG, "连接断开");
            });
        } catch (URISyntaxException e) {
            Log.e(TAG, "地址解析错误: ", e);
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSocket.connect();
    }
}

添加后运行查看Logcat输出的错误信息,可精准定位问题。

4. 排查网络环境问题

  • 确认安卓设备和运行Socket.IO服务的电脑处于同一WiFi网段,没有跨VLAN等网络隔离
  • 关闭电脑的防火墙测试,确认3000端口没有被防火墙拦截
  • 再次确认你填写的IP192.168.1.2是电脑当前的内网IP,没有发生变更

内容的提问来源于stack exchange,提问作者LDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:24:03