Java Socket.IO как передать корректно query?

Отправляю запрос на сервер для подключения к сокету:

public class SocketIO implements Runnable {
    @Override
    public void run() {
        final Socket mSocket;
        QuerySIO querySIO = new QuerySIO();
        querySIO.token = token;
        querySIO.playerid = getUUID(MainActivity.getAppContext());
        Gson gson = new Gson();
        String query_json = gson.toJson(querySIO);

        IO.Options options = new IO.Options();

        options.transports = new String[] {"websocket"};
        options.query = query_json;

        options.forceNew = true;

        Log.d(TAG, "--- Socket - "+ options.query);


        try {

            mSocket = IO.socket(Constants._socket_url, options);
            mSocket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
                @Override
                public void call(Object... args) {
                    Log.d(TAG, "--- Socket - connect success " + args.length);

                }
            }).on("event", new Emitter.Listener() {
                @Override
                public void call(Object... args) {
                    Log.d(TAG, "--- Socket - event" + args);
                }
            });

       mSocket.connect();
        } catch (Exception e) {
            Log.d(TAG, "--- Socket error: " + String.valueOf(e));
        }
    }
}

В логе приложения вижу, что строка params с нормальным json

Socket - {"playerid":"8ca03041-e1c4-49cb-8afd-e151ff20e6fe","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjdG0iOiIyMDIwLTA0LTA1IDE5OjE0OjAyLjc3MjM3NSIsInNpZCI6MjM2OH0.JO89kMUpnb8iKmSqLBzBbOiERblr8_c1rgvLzMC69r8"}

В логе сервера получаю такую петрушку:

GET /socket.io/?EIO=3&%7B%22playerid%22%3A%228ca03041-e1c4-49cb-8afd-e151ff20e6fe%22%2C%22token%22%3A%22eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjdG0iOiIyMDIwLTA0LTA1IDE5OjE0OjAyLjc3MjM3NSIsInNpZCI6MjM2OH0.JO89kMUpnb8iKmSqLBzBbOiERblr8_c1rgvLzMC69r8%22%7D=&transport=websocket HTTP/1.1" 200 0 0.537523

как побороть?


Ответы (0 шт):