Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - [решено] Отправить разные данные с помощью DatagramPacket

Ответить
Настройки темы
Java - [решено] Отправить разные данные с помощью DatagramPacket

Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25


Конфигурация

Профиль | Отправить PM | Цитировать


Мне нужно отправить несколько типов данных, а именно IP отправщика, его ник, сообщение(тоже текст), и три служебных переменных(интеджеры). И собственно вопрос: как это все запаковать в byte[] и потом распаковать при получении?

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 00:16, 24-02-2011

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


crashtuak, тебе надо определить, сколько байт занимает то или иное поле. т.е. размерность переменной (Байт, слово, двойное слово). Затем записать это в массив байт, затем "разобрать" принимающей стороной. Т.к. у тебя несколько типов данных, можно попробовать использовать тип "запись". Как это делается на Java, я честно сказать не знаю, надо полистать мануал. Соотв. вопрос отправки/приема это "обслуживающая" подзадача. Это ... это тоже надо читать. Я могу попробовать объяснить "на пальцах", но думаю что сделаю только хуже.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:11, 24-02-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


не могу сказать если такое на яве, но если бы писалось в си похожих, то это было бы так. Берем набор твоих переменных, создаем битовые массивы длинны этих переменных и присваиваем вторым первое (т.к. любая переменная - это биты, то тут все происходит нормально, главное длинна переменной в битах). А затем создаем итоговый битовый массив длинны равной сумме всех имеющихся массивов бит - и их по очереди запихиваем в него. На обратной стороне обратная операция - раскладываем на битовые массивы и из них делаем переменные нужного типа.
во.. нашел статью - читай http://www.arininav.ru/js/java04.htm вторая ссылка в яндексе на запрос - @java преобразование типов переменных@
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:04, 24-02-2011 | #3


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Спасибо за советы! Именно так и сделал. Первых три служебных заняли у меня 12 байтов(по 4 на каждый integer), потом еще 3*4 байтов для integer"ов, которые несут в себе длину нужных строк, а далее уже байты строк. Пакуется и распаковывается нормально, только геморно как то, окультуривать надо

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 22:04, 25-02-2011 | #4


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Во, нашел идеальный вариант-сериализация. Позволяет весь объект подать в виде массива байтов, и потом так же без труда получить готовый объект из такого массива.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 22:30, 25-02-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - [решено] Отправить разные данные с помощью DatagramPacket

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Перемещение файла с помощью Меню Отправить RogerUP Microsoft Windows 7 7 16-01-2011 10:36
Разное - Как шифровать данные (EFS) с помощью установленного сертификата. __sa__nya Microsoft Windows 2000/XP 4 09-06-2010 17:14
как отправить почту с помощью telnet slaine Хочу все знать 3 16-02-2009 15:36
Не отправить почту Guest Хочу все знать 1 16-04-2004 13:36
Разные учетные записи-разные IP (WinXP) ILion Сетевые технологии 1 28-05-2003 10:48




 
Переход