Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java =>сокет=> Flash = Конец файла, или символы #0 через делфи 
V
    Опции темы
Smorodin
Дата 22.11.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



Добрый день, уважаемые! =)
Неделю назад сел за Java, решил написать для себя полезное - сокет-соединение между браузером и сервером через флеш-посредника.
Обмениваются данными JSON (на клиенте очень удобно), база мускуль, на клиента создается Thread.
И все было великолепно! Но:

Большой ответ от сервера разбивается на части... Это было предусмотрено, и флеша научена мною соединять эти части (эспериментировалось с делфями и node.js).
Но вот на "обрывистых" ответах от java флеша в истерике кричит "Error #2030. Неожиданный конец файла".

Стали разбираться. Вместо флеша моим товарищем было накидано приложение на делфях (его мы получше знаем, чем флеш), и что мы заметили - в ответах таки есть злополучные #0, причем каждый раз в разных местах (ответ сервера один и тот же), и символы 10 16 между ответами сервера (сначала сервер посылает маленький ответ, следом за ним - большой).

С радостью отвечу на все ваши вопросы, учту все направления на путь истинный, проведу любые эксперименты =)
jdk 1.6, oc Debian

Добавлено через 6 минут и 53 секунды
Код

ServerSocket sock = new ServerSocket(3001);
while(true) {
   Socket s = sock.accept(); // Принимаем соединение
   Talker t = new Talker(s); // Создаем клиентский объект
}


В Талкере:

Код

in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());


Отправка. Вариат 1:
Код

ByteArrayOutputStream bos=new ByteArrayOutputStream();
DataOutputStream os=new DataOutputStream(bos);
os.writeUTF(str); // str - стринг, который надо отправить клиенту
out.write(bos.toByteArray());
out.flush();


Вариант 2:
Код

out.writeUTF(str);
out.flush();


Добавлено через 10 минут и 4 секунды
Прошу сильно не пинать, в Java и сокетах чайник  smile 


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
Smorodin
Дата 23.11.2011, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



UPD:
проблема была в том, что отправлялись 2 байта в начале первой части разбитого пакета.

UPD:
Проблема решилась перегоном строки в buf = str.getBytes(); перед отправкой.


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
monkori
Дата 8.1.2012, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.1.2012
Где: Москва

Репутация: нет
Всего: нет



А для меня тяжеловат java! Больше в HTML, но флеши в jave делал smile 

Это сообщение отредактировал(а) monkori - 8.1.2012, 00:08
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.2321 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.