Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 12.08.2007, 18:26   #16
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Lib_socket

Дело в том, что подключение к серверной программе не устанавливается.
(Offline)
 
Ответить с цитированием
Старый 10.01.2008, 19:08   #17
cHeRsAnYa
ПроЭктировщик
 
Регистрация: 18.12.2007
Сообщений: 157
Написано 24 полезных сообщений
(для 27 пользователей)
Ответ: Lib_socket

Как отправить данные методом POST на сервер?
(Offline)
 
Ответить с цитированием
Старый 10.01.2008, 19:15   #18
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Lib_socket

Для этого можно воспользоваться стандартными http функциями МР, но в них есть ошибка как раз в части POST запроса. Смотри http://forum.boolean.name/showthread.php?t=5546
(Offline)
 
Ответить с цитированием
Старый 11.02.2008, 15:13   #19
Stalk
AnyKey`щик
 
Регистрация: 09.12.2007
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Lib_socket

А можно ли этот запрос отправить именно через эту библиотеку сокетов и получить ответ сервера? http функции не катят, нужно именно через сокеты
(Offline)
 
Ответить с цитированием
Старый 11.02.2008, 15:50   #20
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Lib_socket

ява-машина не даст подключиться по сокетам используя 80 или 443 порт.
(Offline)
 
Ответить с цитированием
Старый 04.04.2008, 04:29   #21
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_socket

А можно открыть на мобиле порт и прослушивать его в асинхронном режиме. Т.е. сделать сервер?

И ещё. Как узнать собственный IP номер на мобильном?
(Offline)
 
Ответить с цитированием
Старый 04.04.2008, 06:00   #22
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Lib_socket

В MIDP2 есть класс ServerSocketConnection. Он позволяет создать серверное соединение и ждать подключения.
У него есть метод getLocalAdress(), которая возвращает IP адрес сервера. Единственная сложность, что адрес назначается динамически и его надо сообщать клиенту каким-то образом.
PS: на некоторых моделях можно адрес спросить через System.getProperty("microedition.hostname") ;
(Offline)
 
Ответить с цитированием
Старый 23.10.2008, 18:04   #23
WizardJIOCb
AnyKey`щик
 
Регистрация: 22.10.2008
Сообщений: 7
Написано одно полезное сообщение
(для 2 участников)
Ответ: Lib_socket

спс за либу
(Offline)
 
Ответить с цитированием
Старый 30.10.2008, 10:55   #24
Vovochka
AnyKey`щик
 
Регистрация: 07.11.2007
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Lib_socket

Вобщем таакая проблемма, нужно коннектится к серверу, онКоннект отправить строку с логинолм и паролем, и в ответ ловить инфу.

Так вот... Работает на телефонах всех кроме НОКИА. Притом разных моделей от 3220,3230 до N80.

Устанавливается GPRS соединение без проблемм с запросом все как положенно, а потом в момент когда нужно ловить данные ничего не приходит.

Грешу на знак доллара. ВОбщем уже не знаю даже что и думать...Код прилагаю, помогайте люди кто могёт!!!

   Login := formGetText(nameField); 
   Pass  := formGetText(passField); 
  
//Открываем соединение
  OpenState:= Socket.Open('socket://XXX.XXX.XXX.XXX:Port');
  
  SendString := '$LOGIN<'+length(Login)+'>'+Login+'$PASS<' +length(Pass) +'>'+Pass;

  if OpenState = 0 then 
                     BEGIN
                        delay(100);
//                      SendState:= Socket.WriteStr(SendString);
                        SendState:= Socket.WriteStr(SendString+chr(10)+chr(13));
                        resField := formAddTextField('',SendString,100,TF_ANY);
                        
                     END
                   else
                     begin
                       Debug('Error');
			               end;
//
//
//Далее цикл чтения с сокета инфы.
//
//
(Offline)
 
Ответить с цитированием
Старый 02.12.2008, 10:18   #25
Fialka
AnyKey`щик
 
Регистрация: 20.10.2008
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Восклицание Ответ: Lib_socket

Сообщение от pilgrim Посмотреть сообщение
ява-машина не даст подключиться по сокетам используя 80 или 443 порт.
Поясните, плз! Т.е., как я понял, при помощи сокетов НЕЛЬЗЯ скачать страницу с сайта?
(Offline)
 
Ответить с цитированием
Старый 02.12.2008, 21:00   #26
Fialka
AnyKey`щик
 
Регистрация: 20.10.2008
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_socket

Вот че я накопал: (офф. описание про мою моторолу)
Untrusted applications will use the normal HttpConnection and HttpsConnection APIs
to access web and secure web services. There are no restrictions on web server port
numbers through these interfaces. The implementations augment the protocol so
that web servers can identify untrusted applications. The following will be implemented:
· The implementation of HttpConnection and HttpsConnection will include
a separate User-Agent header with the Product-Token
"UNTRUSTED/1.0".User-Agent headers supplied by the application will
not be deleted.
· The implementation of SocketConnection using TCP sockets will throw
java.lang.SecurityException when an untrusted MIDlet suite attempts to
connect on ports 80 and 8080 (http) and 443 (https).
· The implementation of SecureConnection using TCP sockets will throw
java.lang.SecurityException when an untrusted MIDlet suites attempts
to connect on port 443 (https).
· The implementation of the method DatagramConnection.send will throw
java.lang.SecurityException when an untrusted MIDlet suite attempts to
send datagrams to any of the ports 9200-9203 (WAP Gateway).
· The above requirements should be applied regardless of the API used to
access the network. For example, the
javax.microedition.io.Connector.open and
javax.microedition.media.Manager.createPlayer methods should throw
java.lang.SecurityException if access is attempted to these port
numbers through a means other than the normal HttpConnection and
HttpsConnection APIs.
(Offline)
 
Ответить с цитированием
Старый 02.12.2008, 22:12   #27
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Lib_socket

ну я так и написал. много ли вы видели подписанных приложений?
а страницу сайта можно скачать с помощью HttpConnection
(Offline)
 
Ответить с цитированием
Старый 03.12.2008, 20:44   #28
SDancer
AnyKey`щик
 
Регистрация: 03.12.2008
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_socket

Можно ли вместо socket:// использовать comm:// для подключения к com порту ? У меня не получается
(Offline)
 
Ответить с цитированием
Старый 03.12.2008, 20:56   #29
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_socket

Сообщение от SDancer Посмотреть сообщение
Можно ли вместо socket:// использовать comm:// для подключения к com порту ? У меня не получается
Конечно нельзя, там совершенно разные классы работают. Для кома где-то либа отдельная была, можно найти в сборнике odd'а
(Offline)
 
Ответить с цитированием
Старый 04.12.2008, 02:45   #30
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,141
Написано 704 полезных сообщений
(для 1,740 пользователей)
Ответ: Lib_socket

Сколько же я нервов потратил, пока пытался заставить свой хостген (это типа программа для накрутки wap партнёрок, счётчиков, каталогов и т. п.) передать юзер агент без АНТРАСТЕДА... Ужос... Сокеты меня быстро обломали, с эмулятора работало как надо, но потом оказалось, что мобила запрещает коннект на 80 порт. Пытался каким-нибудь хитрым способом обмануть JVM, например, прописать порт 000080 - разумеется не вышло. При соединении по http к юзер агенту добавляется надпись UNTRUSTED, и как я только не пытался обмануть JVM!!! Например, скармливал функции (название не помню), которая добавляет http-заголовок, почти целый (!!!) http-пакет, прикиньте, РАБОТАЕТ, но всё равно UNTRUSTED добавляется к заголовку User-agent... Пытался отправить два одинаковых заголовка, вместо одного. Бесполезно... И тут меня осенило. (*зловещий смех*) Если я не могу обмануть JVM, значит нужно обмануть Апач!!! И представляете, у меня получилось!!! Тестировал на локале, на сборке "Денвер". Просто пишем User_agent вместо User-agent! Апач это кушает, а JVM и понятия не имеет, что мы передаём Юзер Агент. Только перед этим нужно вписать нормальный заголовок User-agent, а то JVM его может добавить сама после нашего фейкового юзер_агента. Протестировал значит я это дело на локале - работает. Для контрольного теста решил проверить на нормальном сервере. Залил скрипт на хост (хостинг http://zavisov.net/, никому не рекомендую, раньше был нормальный хостинг, а сейчас унылое г*вно), протестил... РАБОТАЕТ!!! Кто-нибудь представляет, что такое "Минута Абсолютного Счастья"? Это было именно оно!!! Так ещё бы, ведь я только что на*бал всех, и разработчиков самого известного сервера в мире, и разработчиков платформы Java!..

Падение было резким и стремительным. Я думал, я этого не переживу. Оказалось, что работоспособность всего вышенаписанного полностью зависит то ли от настроек сервера, то ли от версии апача, я толком не понял. Как раз по иронии судьбы оказалось, что Денвер и zavisov.net были настроены именно так. Но большинство серверов не поддаются на фейковый юзер агент. Больше скажу, кроме Денвера и zavisov.net я так и не видел ни одного хостинга, который бы проглатывал это... В общем, если у кого-то после прочтения этого поста появились какие-нибудь гениальные мысли по поводу глобального обмана JVM и/или Апача, то прошу поделиться ими. А то я на хостген уже забил, так как UNTRUSTED в юзер агенте палит всё действо, и после никому деньги не выплачивают , а народ, который до сих пор пользуется хостгеном, каждый день пишет мне в асю и требует, чтобы всё работало Вписал в сообщение антиспам бота, что забил на ХостГен, теперь пореже пишут =)

Пора переходить на Симбиан и Виндоус Мобаил, но мой Сименс С75 обидится...

Всем спасибо за внимание =)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
odd (15.12.2008)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 18:17.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com