powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Android [игнор отключен] [закрыт для гостей] / Передать двоичные данные через сокет
6 сообщений из 6, страница 1 из 1
Передать двоичные данные через сокет
    #40125886
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть устройство, общение с которым происходит через TCP.
Мне удалось подключиться к нему через Socket.
Далее нужно передать ему цепочку байтов.
Например, такую: F0 00 12 F5 01
Не пойму, как сделать.
То, что я нашел в примерах, выглядит так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        public void sendData(byte[] data) throws Exception {

            try {
                mSocket.getOutputStream().write(data);
                mSocket.getOutputStream().flush();
            } catch (IOException e) {
                throw new Exception("Невозможно отправить данные: " + e.getMessage());
            }
        }


Подозреваю, что в ф-ю sendData() нельзя просто передать строку "F00012F501".
Скажите, как правильно передавать такие данные?
...
Рейтинг: 0 / 0
Передать двоичные данные через сокет
    #40126051
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
data это массив байт. Его просто нужно заполнить нужными байтами.

Например, если нужно именно чтоб шестнадцатерично выглядело:

byte data[] = {0x63, 0x7C, 0x77, 0x7B}
...
Рейтинг: 0 / 0
Передать двоичные данные через сокет
    #40126071
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

спасибо!
...
Рейтинг: 0 / 0
Передать двоичные данные через сокет
    #40126082
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос.
При инициализации массива возникает ошибка, если элемент массива больше какого-то значения.
При А вот так пропускает:
Код: java
1.
byte data[] = {0x45, (byte) 0x80, 0x06, 0x00, (byte) 0xC0};


Это правильно?
...
Рейтинг: 0 / 0
Передать двоичные данные через сокет
    #40126271
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не учел, что byte не может хранить число более 127, т.к. он не unsigned.
Как тогда передавать в качестве байтов число 0xC3 ?
Если приводить через (byte) 0xC3, то число получается отрицательным.
...
Рейтинг: 0 / 0
Передать двоичные данные через сокет
    #40126616
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже разобрался
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Передать двоичные данные через сокет
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (8): Анонимы (5), Yandex Bot 1 мин., Google Bot 6 мин., Bing Bot 8 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]