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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OutputStream + Applet 
V
    Опции темы
Гест
Дата 30.1.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте.
Есть апплет. Есть вот такая функция:
Код

public static String WriteStringToURL(String s, URLConnection uc)
{
    byte buf[];
        
    uc.setDoOutput(true);
    try
    {
        OutputStream os = uc.getOutputStream();
        if (os != null)
        {
            buf = new byte[s.length()];
            buf = s.getBytes();
            os.write(buf);
            os.flush();
            os.close();
            
            return s;
        }
        else
            return "Поток не создан";
    }
    catch(IOException wrioex)
    {
        return wrioex.getMessage();
    }
}


При вызове этой функции из апплета не возникает никаких исключений (проверялось в консоли), возвращаемое значение соответствует тому, что должно быть записано, но запись не происходит. Почему?
PM MAIL   Вверх
COVD
Дата 30.1.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



В этом коде не вижу ошибок. Строчку buf = new byte[s.length()]; можно выкинуть. Метод getBytes() сам создает новый массив.
PM MAIL   Вверх
Гест
Дата 30.1.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



C-шная привычка самому определять все необходимые переменные и размеры массивов smile
Ошибок нет - хорошо, работать не хочет - плохо. Может так просто нельзя делать? Или нужно смотреть, скажем, настройки сервера?
PM MAIL   Вверх
COVD
Дата 30.1.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



у нас именно так и работает. Отправляется запрос, флашим, закрываем стрим. Потом через InputStream читаем ответ, закрываем стрим. Смотрите приемник на сервере, проверьте юрл из адресного поля браузера.
PM MAIL   Вверх
LSD
Дата 30.1.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Для начала напиши небольшой тестик и запусти его как standalone программу. Затем запусти из апплета.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Гест
Дата 30.1.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хотелось бы уточнить... Для того, чтобы считать файл с сервера, достаточно просто обратиться к нему, например вот так:
Код

InputStream is = uc.getInputStream();
is.read();


Но для того, чтобы что-либо записать в тот же файл, мне необходим посредник на стороне сервера. Это так?
PM MAIL   Вверх
COVD
Дата 30.1.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



так, если сервер - вэб сервер, т.е. если он обслуживает http запросы
PM MAIL   Вверх
LSD
Дата 30.1.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Гест @ 30.1.2006, 17:45 Найти цитируемый пост)
Хотелось бы уточнить... Для того, чтобы считать файл с сервера, достаточно просто обратиться к нему, например вот так:
...
Но для того, чтобы что-либо записать в тот же файл, мне необходим посредник на стороне сервера. Это так?

Тебе в любом случае необходим посредник, сервер который бы принимал и получал данные. Если речь идет о HTTP сервере то отправлять их надо POST-ом.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Гест
Дата 30.1.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо LSD. Спасибо COVD. Вопрос исчерпан smile

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

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

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


 




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


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

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