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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с HttpConnection на SE 510i и т. д. 
:(
    Опции темы
DimLord
Дата 21.6.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток форумчане, у нас возникло несколько вопросов, навернка кто то уже сталкивался с их решением.

Необходимо соединиться с сервером. Использую следующий код

con=(HttpConnection) Connector.open(url);
con.setRequestMethod(HttpConnection.GET);
con.setRequestProperty("Accept","*/*");
con.setRequestProperty("Connection", "close");
int code=con.getResponseCode();
is=con.openInputStream();
...

проблема заключается в том, что на телефонах Nokia 6230, 6230i, 6020 всё работает отлично, но вот на моделях SE k510i возникли проблемы:
- строка int code=con.getResponseCode(); вызывает исключение io.ConnectionNotFoundException
что самое интересное, оно возникает не постоянно. Например: первые два раза вылетает, последующие отрабатывает нормально.
URL во всех соединениях один и тот же и заведомо существующий (для тестирования пробовали "http://ya.ru" "http://mail.ru")

Да на Nokia 7270 вообще соединиться с сервером не удалось. Пробовали на нём запустить Opera mini она тоже не смогла установить соединение.


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Попробуйте добавить в jad такое:
MIDlet-Permissions: javax.microedition.io.HttpConnection


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
DimLord
Дата 25.6.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Попробуйте добавить в jad такое:
MIDlet-Permissions: javax.microedition.io.HttpConnection


Добавил ничего не изменилось.

Интересно, а как вообще разные модели телефонов SonyEricsson сильно отличаются по работе с сетью? То есть то что нормально работает например на K500i будет также нормально работать и на остальном большинстве моделей. 
PM MAIL   Вверх
W0LF
Дата 25.6.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Цитата(Antropoid @  21.6.2007,  19:43 Найти цитируемый пост)
MIDlet-Permissions: javax.microedition.io.HttpConnection

Это надо добавлять, если мидлет подписан

DimLord, убери это - 
Код

con.setRequestProperty("Accept","*/*");
con.setRequestProperty("Connection", "close");



--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
DimLord
Дата 25.6.2007, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

DimLord, убери это - 
con.setRequestProperty("Accept","*/*");
con.setRequestProperty("Connection", "close");


Пробовали тажа ситуация коннектится с третьего раза, а первые два выдаёт исключение "io.ConnectionNotFoundException".

Думаем, что придётся переделывать на сокеты имхо пока другого решения не нашли.
PM MAIL   Вверх
W0LF
Дата 25.6.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Да ну.. у меня всегда хттп работал нормально на сониериках, моторолках, нокиях и даж на самсунгах


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
DimLord
Дата 25.6.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



W0LF, можешь кинуть код, который у тебя норамльно скачивает и передаёт данные мы его в проект вставим откомпилим и проверим, если будет работать некорректно мы его сюда выложим проверишь на своих телефонах.
PM MAIL   Вверх
W0LF
Дата 25.6.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Код

package src.io;

import javax.microedition.io.Connector;
import javax.microedition.io.ConnectionNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
import javax.microedition.io.HttpConnection;

public class HttpSender {
    private static HttpSender httpSender = null;

    private HttpSender() {
    }

    public static synchronized HttpSender getInstance() {
        if (httpSender == null) {
            httpSender = new HttpSender();
        }
        return httpSender;
    }

    /**
     * -
     *
     * @param url
     * @param dataOutput if dataOutput == null - get request else post request
     * @return response data
     */
    public synchronized byte[] send(String url, byte[] dataOutput, String boundary) throws IOException {
        if (url == null) {
            return null;
        }
        HttpConnection hCon;
        ByteArrayOutputStream bStrm = new ByteArrayOutputStream();
        try {
            hCon = (HttpConnection) Connector.open(url);
            if (dataOutput != null) {
                hCon.setRequestMethod(HttpConnection.POST);
                hCon.setRequestProperty("Content-Type",
                        "multipart/form-data; boundary=" + boundary);
                hCon.setRequestProperty("Content-Length", String.valueOf(dataOutput.length));
                OutputStream os;
                os = hCon.openOutputStream();
                os.write(dataOutput);
                os.close();
            }
        } catch (ConnectionNotFoundException cnfe) {
            ...
        } catch (IOException ioe) {
            ...
        } catch (ClassCastException cce) {
            ...
        } catch (SecurityException se) {
            ...
        } catch (NullPointerException npe) {
            ...
        }
        if (hCon.getResponseCode() == HttpConnection.HTTP_OK) {
            InputStream is;
            is = hCon.openInputStream();
            int ch;
            try {
                while ((ch = is.read()) != -1) {
                    bStrm.write(ch);
                }
                bStrm.close();
                is.close();
                hCon.close();
            } catch (IOException ioe) {
                ...
            }
        } else {
            ...
        }
        return bStrm.toByteArray();
    }

}


Код





--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

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


 




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


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

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