|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
|||||||||||
Методы чтения из сети21.07.2014, 09:37. Показов 665. Ответов 9
Метки нет (Все метки)
Всем привет. Возникла задача получать данные из сети. Что я делаю
Это меня вполне устраивало.. Однако информации прилетает достаточно хорошо и в цикле читать по одному байту занимает ощутимое время... Что я решил сделать заменить метод на in.read(new byte[количество_доступных_байт]) Таким образом я получаю массив, который могу уже переслать или проанализировать, что очень удобно. Начал использовать программу и понял что обработка идет не верно! Вот как собирается информация read: [-128][0][1][8][1][0][0][0][127][0][0][1] read(в массив байтов) [128][0][1][8][3][0][0][0][127][0][0][1] И тут я кое что понял.. read возвращает int. А что если по сети придет FF (255) и тогда если попытаться запихать FF в массив байтов я получаю -1 потому что значение оказалось большое для переменной типа байта... На самом деле я хотел узнать.. может существует какой то метод на подобии read(int[] massive) Я бы мог загонять вручную в интовский массив через in.read НО боюсь это будет сильно сказываться на скорости. Суть вся в том что я перехватываю сообщения приложения А и пересылаю их приложению Б. Можно так сказать что я слушаю то что происходит между ними... Или может можно как то скопировать допупные байты в какой-нибудь буфер и дальше работать?
0
|
|||||||||||
| 21.07.2014, 09:37 | |
|
Ответы с готовыми решениями:
9
методы чтения, обновления, удаления Реализовать «синхронные» методы чтения/записи для переменной типа String в java Файл БД в сети доступен только для чтения, как исправить? |
|
|
||
| 21.07.2014, 10:04 | ||
|
Попробуйте использовать методы из commons-io для упрощения работы. Вот этот например - IOUtils.html#read
0
|
||
|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
|
| 21.07.2014, 10:08 [ТС] | |
|
0
|
|
|
|
||
| 21.07.2014, 10:11 | ||
|
waip, Так, дальше.
Добавлено через 2 минуты В общем, чего ходить вокруг да около. Ваша догадка скорее всего не верна. Проблема в вашей реализации. Нужно смотреть код.
0
|
||
|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
|
| 21.07.2014, 10:11 [ТС] | |
|
Значение того байта, который пришел.
(Я жеж говорю. Мне реально по сети пришло 128. По итогу -128 оказалось в массиве ибо он байтовский)
0
|
|
|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
||||||
| 21.07.2014, 10:19 [ТС] | ||||||
|
Да... Вы правы.. Не будем ванговать.
*Задание для второго потока смотреть не обязательно(он делает тоже самое только читает и пишет в другую сторону так сказать поток для ответов) Кликните здесь для просмотра всего текста
В первом потоке я закоментировал... То что закоментировано в первом потоке - работает. Чуть ниже текущая версия, но она не верно работает.
0
|
||||||
|
|
|
| 21.07.2014, 11:51 | |
|
waip, in.read(b) возвращает количество элементов, которые считались из потока. И это число не обязательно будет равно in.available(), оно может быть и меньше. Это необходимо учитывать.
InputStream.available возвращает количество байт, который можно считать без блокирования. Это не значит, что всё это количество байт можно считать за раз, одним вызовом read. PS. Первый поток - это t2, я правильно понял?
0
|
|
|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
||||||||||||||||
| 21.07.2014, 12:14 [ТС] | ||||||||||||||||
|
Немного реорганизовал(Если есть замечания по организации - готов принять к сведению).
Кликните здесь для просмотра всего текста
К вопросу о потоках. Я нарисовал схемку(см приложение).
0
|
||||||||||||||||
|
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
|
||
| 21.07.2014, 12:16 [ТС] | ||
|
0
|
||
| 21.07.2014, 12:16 | |
|
Помогаю со студенческими работами здесь
10
Методы шифрования в сети Wi Fi Как открыть файл для чтения/записи по локальной сети на удалённой машине? Сервер HP Primergy Econel 200 S2, Win2008R2 x64, RAID10 4x2000Gb падает скорость чтения/записи по сети Защита чтения Flash памяти от пиратского чтения у STM8S
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|