Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Connection?? (помогите новичку)


Автор: creatiff 19.12.2005, 15:16
Пример 1:
HttpConnection hc = (HttpConnection)Connector.open("http://www.ya.ru",Connector.READ,false);
DataInputStream dis = hc.openDataInputStream(); //<--- тут вылетает пишет (Интернет сервер не найден??)

Пример 2:

StreamConnection sc = (StreamConnection)Connector.open("socket://smtp.mail.ru");
DataInputStream in = sc.openDataInputStream();

то же самое!!

пробовал добавить hc.connect(); вообще не компилиться.

помогите плз.

или киньте пример как писать/читать при сокетном соединении.


Автор: Dancer 19.12.2005, 16:21
если это делается на эмуляторе, то прверяем настройки эмулятора (Edit->Preferences)
там смотрим вкладку Network Configuration (настраиваем прокси сервер, через который выходим в ТЫРНЕТ), на первых порах так же помогает установить флажочек Enable Network Monitoring во вкладке Monitor, и советую выставить Security domain в trusted на вкладке Security.
Если это запускается на телефоне, то нужно выставить правильные параметры для работы с интернетом на телефоне (здесь всё зависит от трубки и оператора на котором сидишь, все насторойки лучше всего расскажет оператор)

Пока наверное всё, будут вопросы - обращайся smile

Код

......
                SocketConnection workSocket;
                InputStream serverIN;
                OutputStream serverOUT;

                try {
                    workSocket = (SocketConnection) Connector.open("socket://"+ipStr+":"+portStr);
                } catch (Exception ee) {
                    SERVER_STATUS = DISCONNECT;
                    connectedError = "Can't open Socket to "+ipStr+":"+portStr+" \nException: "+ee.toString();
                    return;
                }

                try {
                    serverIN = workSocket.openInputStream();
                    serverOUT = workSocket.openOutputStream();
                } catch(Exception e) {
                    SERVER_STATUS = DISCONNECT;
                    connectedError = "Can't open IN and OUT Streams. \nException: "+e.toString();
                    return;
                }
......


Автор: redrick 19.12.2005, 21:38
creatiff
HttpConnection - это для соединения и общения по http протоколу;
Socket - бинарный сокет уровня TCP, в него можно писать и из него читать байты;

если тебе это мало о чем говорит - пробегись быстренько по поятию "7уровневая модель OSI"

Цитата
Пример 1:
HttpConnection hc = (HttpConnection)Connector.open("http://www.ya.ru",Connector.READ,false);
DataInputStream dis = hc.openDataInputStream(); //<--- тут вылетает пишет (Интернет сервер не найден??)


в данном случае ты неправильно работаешь с HttpConnection
нужно вызывать getResponseCode() чтобы собственно запрос отправился и тебе пришли заголовки в ответ

Цитата
StreamConnection sc = (StreamConnection)Connector.open("socket://smtp.mail.ru");
DataInputStream in = sc.openDataInputStream();

а в данном случае вероятно mail.ru просто не дает открывать сокет - хотя точно не знаю

Автор: erka 21.12.2005, 11:23
Цитата

Цитата

StreamConnection sc = (StreamConnection)Connector.open("socket://smtp.mail.ru");
DataInputStream in = sc.openDataInputStream();

а в данном случае вероятно mail.ru просто не дает открывать сокет - хотя точно не знаю



Как минимум не указан порт (спасибо Dancer за пример)
Цитата

workSocket = (SocketConnection) Connector.open("socket://"+ipStr+":"+portStr);

Автор: redrick 22.12.2005, 16:38
erka
а слона то я и не приметил =)
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)