![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
1. Серверный сокет, при прослушке порта, ставит подпроцесс в ожидание. Можно ли как-то этот подпроцесс завершить? 2. При завершении мидлета конечно все подпроцессы убиваются? Это сообщение отредактировал(а) Kalisnik - 16.3.2012, 20:48 |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Наверно, да. сделать флаг, который будер проверяться в run. Что-то типа
Ну а значение флага можно менять, например, нажатием кномпочки Добавлено через 3 минуты и 34 секунды да, перед while нужна скобочка -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
К сожалению не все так просто. Метод acceptAndOpen() переводит весь подпроцесс в состояние ожидания до тех пор, пока не будет образовано соединение. А если соединения вообще не последует, то весь поток соответсвенно будет висеть на методе acceptAndOpen() и флаг работать не будет. Все это не страшно, если java-машина мобильного устройства убивает эти подпроцессы после завершения мидлета.
|
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
А что по этому поводу говорит документация? -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
Pawl, с английским не очень ) По этому и спросил )
З.Ы. здается мне что этот подпроцесс в таком состоянии ни как не убить. Метода stop() в javaMe нету. Так что, по логике, виртуальная машина должна эти потоки убивать при выходе. Это сообщение отредактировал(а) Kalisnik - 18.3.2012, 17:22 |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Я Вам скажу больше, метод stop вообще deprecated Может, имеет смысл еще и принудительно прописать закрытие соединения в методе destroyApp мидлета? Для пущей уверенности, так сказать! -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
Пришла сумасшедшая мысль
З.Ы. Хотя наверно глупость сморозил ))) Разве что на мобильник Java Apache ставить ))) Это сообщение отредактировал(а) Kalisnik - 22.3.2012, 19:46 |
|||
|
||||
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
Смешно, но... на эмуляторе работает. Процесс отмораживается и завершается по флагу. |
|||
|
||||
| oxigen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 12.4.2010 Репутация: 4 Всего: 4 |
Не совсем понятно, зачем это нужно. Пусть себе висит в acceptAndOpen().
Надо будет закрыть - вон Pawl написал, делаешь ssc.close(); При этом из acceptAndOpen() должен будеть сам выпасть с эксепшеном. Это сообщение отредактировал(а) oxigen - 29.3.2012, 12:09 |
|||
|
||||
| Kalisnik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |