Ответчик AS3 и FMS - PullRequest
       25

Ответчик AS3 и FMS

0 голосов
/ 25 декабря 2010

Я пытаюсь связаться с Flash Media Server через класс Responder, потому что я не хочу помещать открытые методы в мой класс, который получает обратные вызовы от сервера.

Все происходит так, как планировалось, когда клиент вызывает метод , но , как только сервер должен вызвать метод на клиенте, я вынужден определить public метод.

В настоящее время я делаю что-то вроде:

nc.client = {
    someCallback: somePrivateFunction
};

Теперь someCallback может быть вызван сервером, и метод somePrivateFunction в моем классе все еще может быть закрытым, это именно то, что я хочу.

Мне было интересно, есть ли более чистое решение?

1 Ответ

2 голосов
/ 21 марта 2011

Мне кажется, ваш код довольно чистый. Я не уверен, что вы могли бы упростить эту задачу, если вам нужна закрытая функция с открытым обработчиком;

Единственный недостаток этого метода, который я вижу, - это невозможность переопределить someCallback, но я не сталкивался с реальными проблемами с этим. Я думаю, что в более крупных проектах имеет смысл создать целый новый класс, связанный с управлением вызовами клиент / сервер, т. Е.

nc.client = new ConnectionClient(nc, myself);

Другой метод может заключаться в том, чтобы обрабатывать все вызовы функций самостоятельно, то есть заставить все вызовы сервера вызывать один открытый метод, а затем самостоятельно определять, что происходит на основе этих вызовов.

Вы могли бы также иметь события отправки вашего клиента, а не привязываться напрямую к методам. Это добавит слой между вызовами сервера и вашим классом, но он может быть «чище» для более крупных проектов.

Чистота очень субъективна:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...