|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - [решено] Отправить разные данные с помощью DatagramPacket |
|
Java - [решено] Отправить разные данные с помощью DatagramPacket
|
Старожил Сообщения: 467 |
Профиль | Отправить PM | Цитировать Мне нужно отправить несколько типов данных, а именно IP отправщика, его ник, сообщение(тоже текст), и три служебных переменных(интеджеры). И собственно вопрос: как это все запаковать в byte[] и потом распаковать при получении?
|
|
------- Отправлено: 00:16, 24-02-2011 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать crashtuak, тебе надо определить, сколько байт занимает то или иное поле. т.е. размерность переменной (Байт, слово, двойное слово). Затем записать это в массив байт, затем "разобрать" принимающей стороной. Т.к. у тебя несколько типов данных, можно попробовать использовать тип "запись". Как это делается на Java, я честно сказать не знаю, надо полистать мануал. Соотв. вопрос отправки/приема это "обслуживающая" подзадача. Это ... это тоже надо читать. Я могу попробовать объяснить "на пальцах", но думаю что сделаю только хуже.
|
------- Отправлено: 09:11, 24-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать не могу сказать если такое на яве, но если бы писалось в си похожих, то это было бы так. Берем набор твоих переменных, создаем битовые массивы длинны этих переменных и присваиваем вторым первое (т.к. любая переменная - это биты, то тут все происходит нормально, главное длинна переменной в битах). А затем создаем итоговый битовый массив длинны равной сумме всех имеющихся массивов бит - и их по очереди запихиваем в него. На обратной стороне обратная операция - раскладываем на битовые массивы и из них делаем переменные нужного типа.
во.. нашел статью - читай http://www.arininav.ru/js/java04.htm вторая ссылка в яндексе на запрос - @java преобразование типов переменных@ |
Отправлено: 18:04, 24-02-2011 | #3 |
Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Спасибо за советы! Именно так и сделал. Первых три служебных заняли у меня 12 байтов(по 4 на каждый integer), потом еще 3*4 байтов для integer"ов, которые несут в себе длину нужных строк, а далее уже байты строк. Пакуется и распаковывается нормально, только геморно как то, окультуривать надо
|
------- Отправлено: 22:04, 25-02-2011 | #4 |
Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Во, нашел идеальный вариант-сериализация. Позволяет весь объект подать в виде массива байтов, и потом так же без труда получить готовый объект из такого массива.
|
|
------- Отправлено: 22:30, 25-02-2011 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Перемещение файла с помощью Меню Отправить | 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 |
|