PDA

Просмотр полной версии : Проблема с отслеживанием закрытия флешки с помощью LocalConnection


EvilCoder
12.12.2008, 15:18
Задача в следующем: к примеру запущены 3 флешки, одна из них(сервер) каждый кадр посылает сообщение двум остальным, если сообщение не доходит к какой-нибудь из этих двух, то сервер реагирует на это(например удаляет пункт из listBox) Использую такой код:

myDisConIn = new LocalConnection();
myDisConIn.connect("pingAnswer")


//цикл ходит по listbox от 1-го эл-та до последнего (нулевой не используется)
for(i = 1; i <= getListBoxCount()-1; i++){

mydisCon = new LocalConnection();
mydisCon.onStatus = function(infoObject:Object) {
switch (infoObject.level) {
case 'status' :
Serv_txt.text = "success";
break;
case 'error' :
Serv_txt.text = "fail";
break;
};
};
mydisCon.send("cl" + myListBox.getItemAt(i).label, "ServerAnswer", "ping" + iters)
mydisCon.close()
}

на принимающей стороне открыто соединение с именем "cl" + myListBox.getItemAt(i).label.
функция ServerAnswer каждой принимающей флешки фиксирует отсылаемые сообщения.

Код, конечно, еще не доделан, но на данном этапе проблема в следующем: как только закрывается одна флешка, и сервер не может подключиться к ней(infoObject.level становится error), то он перестает посылать сообщения в цикле и другой,почему так происходит?

NoCD
13.12.2008, 15:13
А сколько вообще соединений ? Всего три? Создай тогда для каждой флэшки отдельное соединение. И сделай связь между сервером -клиентом (Сервев-флэшь - клиен -флэшь). Т.е. Для сервера как передатчик делай так и приёмник для этой флэшки, что бы в случае отлючения одного из них, без проблем восстановить связь.