Цитата:
|
А какой интервал времени стоит на пинг? Ну, с какой частотой сервер пингует?
|
Я просто скомуниздил идею с юнион платформы
Поэтому у меня как у них 900 милисекунд (и 6000 на ожидание ответа). Но это значение указывается в xml файле настроек сервера, так что всегда можно легко поменять.
Цитата:
|
upd: И все равно понять не могу, поможет ли мне пинг. Допустим сервер отправил пинговый байт в оба соединения, разорванное и нормальное. Из нормального ответ вернулся, значит все в порядке. Но из разорванного-то ответ не вернется, соответственно функция select не вернет мне этот сокет в списке готовых на чтение. Можно бегать по всему списку работающих сокетов, проверяя по времени, не вернулся ли ответ, скажем через минуту. Но тогда select теряет смысл.
|
Что-то недопонял. А зачем бегать по списку? У меня все эти операции выполняются в классе обертке. Ну, то есть внутри одного экземпляра, который держит сокет, и проиходит его общение с клиентом и проверки на валидность подключения. Для удаления этого экземпляра из общего списка, если соединение отвалилось, посылается событие ClientEvent.DISCONNETED. Систему событий написал подобную флешевой, только попроще (ну привык я так

), по этому событию экземпляр просто сносится из карты хэшей менеджером подключений, и дергается метод dispose()