forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_socket (http://forum.boolean.name/showthread.php?t=2525)

ViNT 12.08.2007 22:26

Re: Lib_socket
 
Дело в том, что подключение к серверной программе не устанавливается.

cHeRsAnYa 10.01.2008 22:08

Ответ: Lib_socket
 
Как отправить данные методом POST на сервер?

Piligrim 10.01.2008 22:15

Ответ: Lib_socket
 
Для этого можно воспользоваться стандартными http функциями МР, но в них есть ошибка как раз в части POST запроса. Смотри http://forum.boolean.name/showthread.php?t=5546

Stalk 11.02.2008 18:13

Re: Lib_socket
 
А можно ли этот запрос отправить именно через эту библиотеку сокетов и получить ответ сервера? http функции не катят, нужно именно через сокеты

Piligrim 11.02.2008 18:50

Ответ: Lib_socket
 
ява-машина не даст подключиться по сокетам используя 80 или 443 порт.

odd 04.04.2008 08:29

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

И ещё. Как узнать собственный IP номер на мобильном?

Piligrim 04.04.2008 10:00

Ответ: Lib_socket
 
В MIDP2 есть класс ServerSocketConnection. Он позволяет создать серверное соединение и ждать подключения.
У него есть метод getLocalAdress(), которая возвращает IP адрес сервера. Единственная сложность, что адрес назначается динамически и его надо сообщать клиенту каким-то образом.
PS: на некоторых моделях можно адрес спросить через System.getProperty("microedition.hostname") ;

WizardJIOCb 23.10.2008 22:04

Ответ: Lib_socket
 
спс за либу

Vovochka 30.10.2008 13:55

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;
//
//
//Далее цикл чтения с сокета инфы.
//
//


Fialka 02.12.2008 13:18

Ответ: Lib_socket
 
Цитата:

Сообщение от pilgrim (Сообщение 76970)
ява-машина не даст подключиться по сокетам используя 80 или 443 порт.

Поясните, плз! Т.е., как я понял, при помощи сокетов НЕЛЬЗЯ скачать страницу с сайта?

Fialka 03.12.2008 00:00

Ответ: 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.

Piligrim 03.12.2008 01:12

Ответ: Lib_socket
 
ну я так и написал. много ли вы видели подписанных приложений?
а страницу сайта можно скачать с помощью HttpConnection

SDancer 03.12.2008 23:44

Ответ: Lib_socket
 
Можно ли вместо socket:// использовать comm:// для подключения к com порту ? У меня не получается

ViNT 03.12.2008 23:56

Ответ: Lib_socket
 
Цитата:

Сообщение от SDancer (Сообщение 91583)
Можно ли вместо socket:// использовать comm:// для подключения к com порту ? У меня не получается

Конечно нельзя, там совершенно разные классы работают. Для кома где-то либа отдельная была, можно найти в сборнике odd'а

Phantom 04.12.2008 05:45

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

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

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

Всем спасибо за внимание =)


Часовой пояс GMT +4, время: 13:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot