Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблема с извлеченим данных из DatagramPacket

2.0K
02 октября 2008 года
A.D.I.D.A.S
52 / / 23.11.2004
Столкнулся с такой проблемой: при складывании строки в DatagramPacket она не полностью оттуда извлекается, даже не пересылая по сети этот пакет.

Код таков:
 
Код:
DatagramPacket packet = new DatagramPacket(data.getBytes(), data.length(), clientAddr, 6000);
String s = new String(packet.getData(), 0, packet.getLength());
System.out.println("DEBUG: data=" + data);
System.out.println("DEBUG: data.length()=" + data.length());
System.out.println("DEBUG: packet.getLength()=" + packet.getLength());
System.out.println("DEBUG: s=" + s);
System.out.println("DEBUG: s.length()=" + s.length());;

data - довольно длинная строка

аутпут от этого всего дела:

DEBUG: data=<?xml version="1.0" encoding="UTF-8"?><Depot><Material><id>2</id><name>Кирпич красный</name><weight dimension="кг">1</weight><provider>ОАО Рога и копыта</provider><description>Нормальный такой кирпич</description><count>100</count></Material></Depot>
DEBUG: data.length()=250
DEBUG: packet.getLength()=250
DEBUG: s=<?xml version="1.0" encoding="UTF-8"?><Depot><Material><id>2</id><name>Кирпич красный</name><weight dimension="кг">1</weight><provider>ОАО Рога и копыта</provider><description>Нормальный такой кирпич<
DEBUG: s.length()=200


кто-нибудь знает в чем дело?
5
09 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: A.D.I.D.A.S
Столкнулся с такой проблемой: при складывании строки в DatagramPacket она не полностью оттуда извлекается, даже не пересылая по сети этот пакет.

Строка - это набор юникодных символов. Вы думаете юникодный символ занимает в памяти 1 байт? Готов поспорить, что в вашем случае это не так.
Вы складываете data.getBytes() но почему-то указываете что всего этих байтов data.length(). А это разные числа.

2.0K
14 октября 2008 года
A.D.I.D.A.S
52 / / 23.11.2004
Чёрт возьми, и вправду.
Спасибо большое!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог