![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| llex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Есть некая онлайн игра. Изначально работающая на сокетах. Постоянная связь с сервером - необходима.
Возникла необходимость вместо сокетов использовать http. И выяснилась такая вот неприятная вещь: SE w900, k790, k850 ... рвут tcp соединение после каждого запроса (windump на сервере ). При этом сессия вроде и поддерживается за счет кукис, но время обработки запроса слишком велико(даже при пинге и пустом ответе сервера). Минимум 2.5 секунды, достаточно часто - 5-6 секунд, а иногда может подвиснуть секунд на 15, в результате чего сервер выбрасывает игрока по таймауту. Так же довольно часто случается что пакеты с сервера вообще не доходят до клиента, что вообще как-то трудно объяснимо при нормальной работе http. Тот же код на нокиях N95, N73 отрабатывает почти в 2 раза быстрее и tcp-соединение при этом не рвется. Задал этот вопрос на developer.sonyericsson.com, но там как-то совсем глухо. Может кто-то сталкивался с подобной проблемой? Соединение обрабатывается в потоке:
|
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 13 Всего: 16 |
Так одновременно создаются и tcp, и http соединения?
-------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| VOS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 31.1.2007 Репутация: 6 Всего: 8 |
У меня тоже были подобные заморочки с keep-alive на разных телефонах, но т.к. для меня на тот момент это был академический интерес, то плюнул на это дело.
Если Вы разрабатываете только под MIDP 2.0 может все же имеет смысл вернуться к использованию SocketConnection, но запрос отправлять на 80 порт и в запросе формировать вручную все необходимые HTTP заголовки. Грубо говоря через SocketConnection эмулировать HttpConnection. Судя по всему сервер у Вас HTTP/1.1 поддерживает, иначе бы не работало и на Nokia, значит в таком режиме все должно быть ок. При этом другие приложения, работающие с Вашим сервисом смогут работать по HTTP и проблем с проксями для них не будет (думаю Вы из-за этого хотите перейти на HTTP). Это сообщение отредактировал(а) VOS - 7.12.2007, 10:53 |
|||
|
||||
| llex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
От сокетов мы никуда и не ушли, а скорее расширили возможности соединения.
На сервере работают одновременно и http и сокетные коннекторы, поэтому эмуляция вряд ли получится. К тому же не уверенности что http коннектор развернут именно на 80 порту. Поддержка http делается всязи с тем, что заказчик считает, что у какие-либо иностранные операторы могут не поддерживать сокетные соединения. |
|||
|
||||
| VOS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 31.1.2007 Репутация: 6 Всего: 8 |
Ну порт не важен, это я так, для примера.
И эмуляцию надо только на клиенте делать. Ну вообщем, опасения заказчика понятны. Думаю Вам будет полезно посмотреть реализации в интернет пэйджерах. ICQ, Jimm и т.д. для мобил. Там они тоже Keep-Alive поддерживают. Я как-то давно смотрел, вроде они через сокеты работали, но 100% уверенности нет. |
|||
|
||||
| llex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Не пробовал пэйджеры( скорее всего сокеты ), но попробовал несколько мобильных броузеров.
Результат тотже: nokia сессию держат, а se - рвут. |
|||
|
||||
| Sharkfire |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 30.11.2006 Где: Одесса Репутация: нет Всего: 2 |
Jimm-е есть HTTP профиль подключения, и он держит связь, попробуйте посмотреть у них
|
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |