Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
_Night_Scream_
80 / 77 / 11
Регистрация: 08.08.2013
Сообщений: 631
1

Отправка массива байтов по сети

15.07.2015, 11:09. Просмотров 932. Ответов 4
Метки нет (Все метки)

Всем привет.

Задача у меня простая, нужно отправить по сети массив байт, но...
Все мы знаем о знаковых байтах в жабе.
вот строка создания массива, она не прокатит
Java
1
byte[] command = new byte[10]{ 48, 49, 48, 49, 48, 151, 152, 153, 154, 155};
Компилятор предложит сделать так
Java
1
byte[] command = new byte[10]{ 48, 49, 48, 49, 48, (byte) 151, (byte) 152, (byte) 153, (byte) 154, (byte) 155};
Что дает (byte)?
Как удобно отправлять массивы байт со значением больше 128?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2015, 11:09
Ответы с готовыми решениями:

Отправка по сети русских букв
Подскажите как отправить через сокет слово "Привет". Делаю так: PrintWriter...

Отправка массива данных из Android-приложения на сервер по протоколу HTTP
Пишу приложения которое должно собирать кое какую инфу и отправлять её на...

IdTCPClient отправка массива байтов
Пытаюсь отправить массив байтов, делаю так: procedure...

Отправка массива байтов из веб-сервиса asmx
Привет всем! Собственно, то что пытаюсь делать: static public string...

Отправка байтов по сокетам
Ну вот хочу написать программу но никак не могу. Проблема в том что я хочу...

4
Mikalai
264 / 240 / 95
Регистрация: 11.01.2015
Сообщений: 670
15.07.2015, 11:41 2
byte 8 бит от -128 до 127. Или меня жёстко обманывали всю дорогу )
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
15.07.2015, 11:49 3
Лучший ответ Сообщение было отмечено _Night_Scream_ как решение

Решение

_Night_Scream_, int используйте.
По умолчанию, все числа в java являются интами. Но до 127 компилятор автоматически сделает преобразование в byte. Более 127 он требует от Вас явного преобразования типов.
1
_Night_Scream_
80 / 77 / 11
Регистрация: 08.08.2013
Сообщений: 631
15.07.2015, 13:42  [ТС] 4
Mikalai, 8 бит - это 256 значений, а как вы их будете представлять дело ваше. В pascal'е например это от 0 до 255 (безнаковый), в java знаковый и т.д.

YuraAAA, блин, точно.
Вот ответ
Java
1
2
3
4
5
6
7
byte[] bytes = new byte[] {1,(byte)140,2,0,0,1};
int[] ints = new int[] {1,140,2,0,0,1};
System.out.println(bytes.length + " " + ints.length);
 
run:
6 6
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
15.07.2015, 14:04 5
_Night_Scream_, только учтите тот момент, что (byte) 140 = -116. Так как переполнение байта "сбрасывает" его значение.
0
15.07.2015, 14:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 14:04

Отправка байтов через UDP Client
Вот пасоны надо с delphi на vb.net перевести код, сам неразобрался думаю мне...

Сокеты(отправка байтов серверу и получение ответа)
Нужна книга,в которой будет подробно описана работа с сокетами,т.е добавление...

Вычитание массива байтов из массива байтов
Добрый день. Мне нужно получить результирующий массив байтов, вычев первый...


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

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

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