Java android - Flask-socketio 5.0.1 上的 SocketIO xhr 池错误/网络套接字错误

问题描述

我正在研究这个了不起的项目。 Web 浏览器、docker、Nginx 一切正常……但目前卡在 android java 客户端。每次进行 socketio 会话时它都会保持响应:

    D/socketio: xhr poll error
    V/socketio: xhr poll error -> Errors :: a.a.b.a.a: xhr poll error

build.gradle:

    implementation 'io.socket:engine.io-client:2.0.0'
    implementation 'io.socket:socket.io-client:2.0.0'

导入:

    import io.socket.emitter.Emitter;
    import io.socket.engineio.client.socket;
    import io.socket.engineio.client.Transport;
    import io.socket.engineio.client.transports.Polling;
    import io.socket.engineio.client.transports.PollingXHR;
    import io.socket.engineio.client.transports.WebSocket;

Android studio - Java 代码(客户端):

    Socket.Options options = new Socket.Options();
    options.transports = new String[]{PollingXHR.NAME,Polling.NAME,WebSocket.NAME};
    Log.d("socketio","socketio: " + options.toString());
    try {
        socket = new Socket("http://10.10.10.212/socket.io/",options);
        socket.on(Socket.EVENT_OPEN,new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                Log.i("socketio","open");
            }
        });
        socket.on(Socket.EVENT_ERROR,new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                Exception err = (Exception) args[0];
                Log.i("socketio","error:" + err.toString());
            }
        });
        socket.on(Socket.EVENT_PACKET,"packet");
            }
        });

        socket.on(Socket.EVENT_DRAIN,"drain");
            }
        });
        socket.open();
        Log.i("socketio","open...");

    } catch (Exception e) {
        e.printstacktrace();
    }

Flask Python socketio 服务器:

    flask_socketio==5.0.1
    python-engineio==4.0.0
    python-socketio==5.0.4

Web 浏览器与以下产品完美配合:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.0.4/socket.io.js" crossorigin="anonymous"></script>

我该如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)