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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных между двумя апплетами 
V
    Опции темы
Vofka
Дата 22.3.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть ли возможность передавать данные между двумя апплетами, через потоки?Полазил в апи нашел только как вызывать методы из одног апплета в другом.
PM MAIL   Вверх
AntonSaburov
Дата 22.3.2007, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Нет. Каждый аппелт работает автономно. Можно конечно извратиться:

1. Попробовать взаимодействовать через JavScript - но я пока слабо представляю как
2. Разрешить открывать сокеты апплетам
3. Пусть апплеты организуют коннект с хостом, с которого они скачаны (это можно любому апплету). А там будет стоять программа, которая будет служить на прием-передачу
PM MAIL WWW ICQ   Вверх
Vofka
Дата 22.3.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не знаю я вот нашел пример через PipedWriter.
PM MAIL   Вверх
Vofka
Дата 22.3.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



по кнопочке в пайп пишется значение
Код

    private void jButton1_actionPerformed(ActionEvent e) {


        try {
            PipedWriter pw = new PipedWriter();
            Applet2.setpipe(pw);
            pw.write(jTextArea1.getText());
            pw.flush();
            pw.close();
          } catch (IOException f) {
           System.out.println(f.getMessage());
        }
    }

 потом пайп передается во второй апплет
и там читается


Код

    public static void setpipe(PipedWriter pr){


        try {
            pread=new PipedReader(pr);
           
        } catch (IOException e) {
            // TODO
        }
    }

                       
                 


Код

             try {
                              BufferedReader br=new BufferedReader(pread);
                            String s=br.readLine();
                            if(s!=""){
                              jTextArea1.setText(s);
                              }
                              } catch (Exception f) {
                                  // TODO
                              } 

PM MAIL   Вверх
AntonSaburov
Дата 22.3.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



А причем тут PipeWriter/Reader ? Pipe - это фактически потоковый ввод/вывод. И как апплеты через него могут связаться - с чего вдруг ?

Откуда здесь апплеты ? Почитай про этот класс - http://java.sun.com/developer/JDCTechTips/2001/tt0208.html
PM MAIL WWW ICQ   Вверх
COVD
Дата 22.3.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Они пишут:

"Piped streams are a mechanism in the Java I/O library to set up a stream of data between two threads."

То, что это потоки одного приложения (два апплета - это два разных приложения) наверное настолько очевидно, что про это не упоминается. smile
PM MAIL   Вверх
Vofka
Дата 23.3.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ну слово потоковый тут же присутсвует  smile . и апплеты нормально через него связываются.у меня работает просто я из одного апплета в другой передаю PipedWriter и соответственно в одном пишу в него а в другом читаю. 
PM MAIL   Вверх
COVD
Дата 23.3.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



да, действительно, если апплеты в одном браузере, т.е. под одной JVM, то они могут друг друга найти. 
Здесь подробно расписано http://www.wutka.com/hackingjava/ch10.htm  smile 
PM MAIL   Вверх
Vofka
Дата 23.3.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

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

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


 




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


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

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