![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
Такое дело - на компьютере работает сервер, прослушивающий порт. На телефоне - клиент, который пишет сообщение и получает ответ. Подключение к серверу в блоке try. На эмуляторе, если сервер не запущен, то клиент ничего не пишет, и выходит исключение, которое я обрабатываю, и всё хорошо. А вот на телефоне (Nokia N82), даже если сервер не запущен, клиент все-таки отправляет сообщение. В чем дело и как с этим бороться, подскажите, пожалуйста.
|
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
А если заставить сервер писать в свой сокет типа подтверждения что товар принят? Ну типа CRC отправления, клиент будет проверять чексум и если не совпало - то заново посылает и т.д.
Это сообщение отредактировал(а) ivanovpv - 5.11.2009, 17:32 -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
т.е. кроме числа (в данном случае) писать ещё одно сообщение? не хотелось бы, потому что сообщения отсылаются 1-2 раза в секунду и хотелось бы побыстрее.
|
|||
|
||||
| ivanovpv |
|
||||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
Ну зачем же 2 сообщения. Можно писать простенький XML -типа как вариант (естессно можно скостить или наоборот добавить):
Далее сервер разбирает сообщения простеньким SAX handler'ом (пишется ровно 10 минут) проверяет CRC и все. Это сообщение отредактировал(а) ivanovpv - 5.11.2009, 17:47 -------------------- Aut viam inveniam aut faciam |
||||
|
|||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
а сразу узнать, что сокет не открыт никак нельзя? эмулятор вот выводит исключение
|
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
Ну вы же сами говорите, что на определенных марках телефонов узнать не получается... Вот потому то и приходится городить огород -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
хорошо, спасибо. тогда ещё один вопрос задам здесь, дабы не создавать лишние темы.
как можно реализовать передачу данных между телефоном и компьютером в глобальной сети? для локальной всё написано, достаточно знать адрес компьютера. по моим соображениям, надо использовать посредника (не владею терминологией) в сети, т.е. некое сетевое приложения. как это можно сделать? (опишите хотя бы грубо). заранее спасибо |
|||
|
||||
| eugine_s |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 14.11.2007 Где: Киев Репутация: 17 Всего: 17 |
Мне кажется, что ты что-то не дописал тут:
В глобальную сеть с мобильного телефона не нужны никакие посредники. А вот с мобильного телефона в локальную сеть, как раз и нужен какой-то прокси-сервер, который виден из интернета и имеет доступ в локальную сеть и который будет обрабатывать запросы и переправлять их на сервер в локальной сети. Или речь идет не о телефоне, а об эмуляторе телефона? Тогда тут как раз такая ситуация, как ты описал - решается двумя способами: 1) в некоторых эмуляторах можно указать прокси-сервер 2) можно проги для PC использовать, которые будут эмулировать работу с прокси для компа Это сообщение отредактировал(а) eugine_s - 9.11.2009, 12:53 |
|||
|
||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
необходим доступ с телефона на компьютер в локальной сети (с внутренним адресом, вобщем). насколько я понял, необходим сервер с программой, к которому бы коннектился компьютер и телефон, а программа перенаправляла бы запросы с сервера на компьютер. правильно? а как это реализовать?
|
|||
|
||||
| eugine_s |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 14.11.2007 Где: Киев Репутация: 17 Всего: 17 |
Обычное подключение с мобильного к серверу выглядит вот так:
Мобильный телефон - сеть оператора - интернет - сервер (подключенный к Инету) В твоем случае должно быть вот так: Мобильный телефон - сеть оператора - интернет - промежуточный_сервер (подключенный к Инету и локальной сети) - сервер (в локальной сети) Все что нужно - это промежуточный сервер (скорее всего он у тебя есть, ты через него в инет ходишь) и настроить этот сервер (или какой-то скрипт на нем) так что бы он перебрасывал пакеты с мобильного телефона на сервер. Но это уже не то что не J2ME, это и программирование сложно назвать. Скорее администрирование. |
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
Ну в таком случае Bluetooth самое оно... Иначе действительно придется выдумывать промежуточный сервер/гейт между WAN (куда коннектится мобила) и LAN (где сидит локальный комп). -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
Bluetooth не подходит. Что-то я совсем запутался. Гугль мне выдал форум с советом воспользоваться Google App Engine. Насколько я понял, это значит написать сервлет и установить?
|
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
Google App Engine - это навороченный веб сервер и с точки зрения решения вашей проблемы ничем не отличается от скажем того же Tomcat. По идее вам надо написать тупой сервлетик, поместить его на веб сервер. Далее сконнектить телефон с веб-сервером где крутится сервлет. Если веб-сервер будет на вашем локальном компе - значит все хорошо. Если же нет - то надо каким-то образом связать веб-сервер с вашим компом - но уж к этому j2me отношения никакого не имеет. -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| vandaler |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.11.2009 Репутация: нет Всего: нет |
спасибо. собственно говоря, как я и предполагал) осталось разобраться, как писать сервлеты...
|
|||
|
||||
| W0LF |
|
||||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
1. Сервлеты писать легко, очень легко скажем так, даже если ни разу не видели, то берете первый готовый пример в нете и разбираете.
2.насчет -
один топик - один вопрос пожалуйста. 3. Абсолютно согласен с ivanovpv, я бы юзал голубой зуб, тем более есть готовые решения в нете, а то получается -
-------------------- iOS developer |
||||
|
|||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |