Соединение AndroidAsync socket.io с параметрами строки запроса

Я работаю с использованием socket.io с Android уже несколько дней. На данный момент я использую AndroidAsync от Koush. Когда я пытаюсь подключиться к моему локальному серверу socket.io (http://192.168.2.1:3000) все в порядке, я могу отправлять команды и получать сообщения о событиях. Но когда я пытаюсь использовать его на реальном сервере с параметрами строки запроса (http://api.mysite.com:8000/socket.io/1?v=1&name=xxx&password=xxxЯ не могу подключиться. Есть ли правильный способ передачи параметра строки запроса в AndroidAsync socket.io? Вот мой код

    Uri.Builder b = Uri.parse("http://api.mysite.com:8000/socket.io/1").buildUpon();
    b.appendQueryParameter("v", "1");
    b.appendQueryParameter("name", "xxx");
    b.appendQueryParameter("pass", "xxx");

    myUrl = b.build().toString();

    AsyncHttpClient.getDefaultInstance().getString(myUrl, new AsyncHttpClient.StringCallback() {

            @Override
            public void onCompleted(Exception arg0, AsyncHttpResponse arg1, String arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onConnect(AsyncHttpResponse response) {
                // TODO Auto-generated method stub
                super.onConnect(response);
                Log.d("tag","onConnect!");
            }

            @Override
            public void onProgress(AsyncHttpResponse response, int downloaded,
                    int total) {
                // TODO Auto-generated method stub
                super.onProgress(response, downloaded, total);
                Log.d("tag","Progress!");
            }


        });

        SocketIOClient.connect(AsyncHttpClient.getDefaultInstance(), myUrl, new ConnectCallback() {

            @Override
            public void onConnectCompleted(Exception arg0, SocketIOClient client) {
                // TODO Auto-generated method stub
                if (client.isConnected()) {
                    Log.d("tag","!");
                } else {
                    Log.d("tag","?");
                }


            }
        });

1 ответ

Решение

Я нашел эту же проблему в его другой библиотеке android-websockets. Я помог ему исправить это в обоих его проектах. Ознакомьтесь с изменениями, внесенными в AndroidAsync и android-websockets. Ссылка на android-websockets подробно описывает проблему. Я предлагаю вам извлечь последние изменения из основной ветки и попробовать еще раз.

Другие вопросы по тегам