Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Edward1426
1 / 1 / 1
Регистрация: 21.10.2016
Сообщений: 29
#1

Nv-websocket-client -> The scheme part is empty - Программирование Android

14.05.2017, 17:56. Просмотров 398. Ответов 1

Здравствуйте! Использую библиотеку nv-websocket-client от TakahikoKawasaki. При инициализации WebSocket выдает ошибку: "The scheme part is empty.". Скажите в чем проблема?

Вот код, в котором ошибка:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Создаем WebSocket
    private WebSocket GetWebSocket(){
        try {
            // Настройка соединения
            return new WebSocketFactory().setConnectionTimeout(MainConnection.TIMEOUT)
                    .createSocket(MainConnection.SERVER, MainConnection.PORT)
                    .addExtension(WebSocketExtension.PERMESSAGE_DEFLATE)
                    .addListener(new WebSocketAdapter(){
                        @Override
                        public void onDisconnected(WebSocket websocket,
                                                   WebSocketFrame serverCloseFrame,
                                                   WebSocketFrame clientCloseFrame,
                                                   boolean closedByServer) throws Exception {
                            super.onDisconnected(websocket, serverCloseFrame,
                                    clientCloseFrame, closedByServer);
                            // Переподключаемся к серверу, если приложение не закрывается
                            if (reconnect) webSocket = webSocket.recreate().connect();
                            Log.i(getClass().getName(), "Socket reconnected");
                        }
                    })
                    .addListener(new WebSocketAdapter(){
                        @Override
                        public void onBinaryMessage(WebSocket websocket,
                                                    byte[] binary) throws Exception {
                            super.onBinaryMessage(websocket, binary);
                            // do something...
                            Log.i(getClass().getName(), "Bytes received");
                        }
                    }).connect();
        }
        catch (Exception ex){
            Log.e(getClass().getName(),
                    "Error: " + ex.getMessage());
        }
        return null;
    }
Добавлено через 40 минут
http://www.cyberforum.ru/csharp-beginners/thread1819503.html
Не дописал, вот catlog printStackTrace (не знаю как красиво вставить):
05-15 00:45:41.303 2668-2706/? W/System.err: at com.neovisionaries.ws.client.WebSocketFactory.isSecureConnectionRequired(WebSocketFactory.java:519)
05-15 00:45:41.303 2668-2706/? W/System.err: at com.neovisionaries.ws.client.WebSocketFactory.createSocket(WebSocketFactory.java:495)
05-15 00:45:41.303 2668-2706/? W/System.err: at com.neovisionaries.ws.client.WebSocketFactory.createSocket(WebSocketFactory.java:486)
05-15 00:45:41.303 2668-2706/? W/System.err: at com.neovisionaries.ws.client.WebSocketFactory.createSocket(WebSocketFactory.java:270)
05-15 00:45:41.309 2668-2706/? W/System.err: at com.hfad.remotetech.ConnectServer.GetWebSocket(ConnectServer.java:34)
05-15 00:45:41.309 2668-2706/? W/System.err: at com.hfad.remotetech.ConnectServer.doInBackground(ConnectServer.java:23)
05-15 00:45:41.309 2668-2706/? W/System.err: at com.hfad.remotetech.ConnectServer.doInBackground(ConnectServer.java:11)
05-15 00:45:41.309 2668-2706/? W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:304)
05-15 00:45:41.309 2668-2706/? W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-15 00:45:41.309 2668-2706/? W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
05-15 00:45:41.309 2668-2706/? W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
05-15 00:45:41.309 2668-2706/? W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
05-15 00:45:41.309 2668-2706/? W/System.err: at java.lang.Thread.run(Thread.java:762)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2017, 17:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Nv-websocket-client -> The scheme part is empty (Программирование Android):

PHP WebSocket Client
Приветствую! Пытаюсь соединиться с websocket сервером при помощи PHP, но...

Как определить Empty или не Empty массив?
Добрый вечер! Встрял в ситуацию... Заполняю массив в цикле значениями из базы...

В чем разница между !empty и empty?
И парочку примеров для лучшего понимания, если не сложно

создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы.
Не могу понять почему не работает вот этот кусок текста. ofstream q...

Готовое решение "User Datagram Protocol Client" (UDP Client или Мини чат)
Может быть кому пригодится:)

1
klakpin
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 1
22.10.2017, 20:46 #2
Ваша проблема в адресе. Библиотека автоматически считывает какое подключение использовать: http, https и т.д. Вот пример создания сокета, взят с гитхаба проекта (https://github.com/TakahikoKawasaki/nv-websocket-client).

Java
1
2
3
4
5
// Create a WebSocket. The scheme part can be one of the following:
// 'ws', 'wss', 'http' and 'https' (case-insensitive). The user info
// part, if any, is interpreted as expected. If a raw socket failed
// to be created, an IOException is thrown.
WebSocket ws = new WebSocketFactory().createSocket("ws://localhost/endpoint");
Соответственно в начале адреса обязательно нужно указать как происходит подключение, иначе вылетит эта ошибка. Пример:
Java
1
WebSocket myWebSocket = new WebSocketFactory().createSocket("http://www.leningrad.spb.ru");
Под капотом библиотеки (с того же гитхаба)
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private static boolean isSecureConnectionRequired(String scheme)
    {
        if (scheme == null || scheme.length() == 0)
        {
            throw new IllegalArgumentException("The scheme part is empty.");
        }
 
        if ("wss".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme))
        {
            return true;
        }
 
        if ("ws".equalsIgnoreCase(scheme) || "http".equalsIgnoreCase(scheme))
        {
            return false;
        }
 
        throw new IllegalArgumentException("Bad scheme: " + scheme);
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2017, 20:46
Привет! Вот еще темы с решениями:

Чем отличается Cisco Radius Client от других Radius Client?
Собственно весь вопрос в заголовке темы. Чем отличается Radius клиент Cisco от...

Get last part URL
Здравствуйте есть url: http://localhost/wordpress/subject/история/ нужно...

ПРоблемы с интернетом part II
Здравствуйте! Помогите решить проблему с отключением интернета. Есть два ADSL...

Виснит Nginx Part 2
Не знаю почему, но nginx то работает, то не работает. Захожу на сайт, nginx...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru