Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Событие socketError не приходит при использовании wifi (http://www.flasher.ru/forum/showthread.php?t=129472)

Роман Вадимович 02.09.2009 14:25

Событие socketError не приходит при использовании wifi
 
Привет всем!
Такая проблема. Приложение использует сокетные соединения.
Есть ноутбук поключенный к интернету по Wi-Fi.

В зоне действия точки доступа Wi-Fi происходит успешное подключение. Когда я с ноутом отхожу на расстояние, где точка доступа уже не работает - не генерируется событие ни socketClose, ни socketError.
Т.е. приложение думает что подключено, но на самом деле не может обмениваться информацией. Подскажите, что можно сделать, чтобы решить эту проблему?

Добавлено:
Прошу прощения, заметил, что это проблема не Wi-Fi.
Дело в линуксовом flash плеере. Я поключил ноутбук через проводной интернет и при выдергивании Ethernet кабеля аналогично не генеруются события.

Felicast 02.09.2009 20:05

так и должно быть. для того чтобы сгенерировалось socketClose, необходимо, чтобы на сервере сокет был закрыт (close) или выключен (shutdown). При обрыве линии закрытия соединения не происходит, поэтому клиент и не знает, что линия разорвана. Причем не важно эзернет это, вайфай или оптика.
решение: можно пинговать сервер небольшими сообщениями раз в секунду, например

Роман Вадимович 02.09.2009 22:13

Спасибо за совет!
Подскажите а как это сделать красиво?
Я представляю это так:
1) Сервер раз в несколько секунд рассылает сообщение всем клиентам. Если клиент не получает положенного сообщения - значит обрыв.
2) Сделать ответ сервера по запросу клиента. Клиет отправляет серверу сообщение, тот отвечает. Если ответ пришел - ок, если нет - обрыв.

Felicast 03.09.2009 13:28

2-ой вариант

Роман Вадимович 04.09.2009 12:08

Спасибо!


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.