![]() |
|
Модераторы: gambit |
![]()
|
|
| Alexsar |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.5.2005 Репутация: нет Всего: 1 |
Есть проблема
пишу расперделённое приложение, проблема заключется в следущем, при вызове делегатов удалённого объекта не у всех клиентов срабатывают обработчики. Почти всегда клиент потом просто висит(если это виндовозовская форма), если простое консольное приложение, то в случае 2 клиентов работает всё почти нормально, а вот когда больше клиентов начинаюся неприятности вот код, он практически идентичен, написанному в известной книге сервер:
удалённый объект:
и сам клиент:
в чём дело не пойму, вроде всё должно работать, а почему то сообщения до некоторых клиентов не доходят, а с формами вообще страшное дело клиент-инициатор приказывает долго жить, а другие клиенты перехватывают сообщения в 50%hmmm инструмент-студия 8 ЗЫ не хочу создавать новую тему, поэтому ещё один вопрос, где можно достать информацию по сокетам и как с ними работать в С#, желательно на русском языке что я не так сделал? |
||||||
|
|||||||
| Alexsar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.5.2005 Репутация: нет Всего: 1 |
всем привет
протестил тут консольных клиентов, оказалось что удалённый объект отключаеся через минуту-полторы, т.е. функция InitializeLifetimeService() не перегружается в чём дело? может это надо делать через конфиг файл, но как, какие они должны быть, чтоб обеспечили эквивалентность коду? и ещё может у кого нибудь есть примеры нормально работающих клиент-серверных приложений? |
|||
|
||||
| Alexsar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.5.2005 Репутация: нет Всего: 1 |
всем доброй ночи
это снова я проблему так и не устранил может у меня студия глючит? компильните мой код(у кого есть время и желание а то совсем разочаруюсь ремотинге, поскольку приложения на пару минут никому не нужны ЗЫ а как на счёт конфигурационного файла? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 2 Всего: 232 |
Нужно вынести InitializeLifetimeService в отдельный удалённый метод и вызывать его с клиента. Уточню, InitializeLifetimeService обязательно должен вызываться на сервере а не на клиенте.
Про делегаты и remoting уже были вопросы, так до конца не разобрались, как именно они работают -------------------- ![]() |
|||
|
||||
| Alexsar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.5.2005 Репутация: нет Всего: 1 |
вопрос: как понимать следущее?
так где надо вызывать? кстати он вызывается(метод InitializeLifetimeService) но клиент глохнет короче тёмный лес, и с ним мне предстоит возицца будем дальше копать |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 2 Всего: 232 |
Ещё раз: вызывать надо клиентом, но метод исполняться должен на сервере. Это обычный remoting-овский метод, содержащий строчку с InitializeLifetimeService(). Проверить очень просто: податтачиться к серверу и поставить брейкпоинт на InitializeLifetimeService(), если не выполнится - значит не то. -------------------- ![]() |
|||
|
||||
| Alexsar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.5.2005 Репутация: нет Всего: 1 |
всем привет;)
всё полечилось, вместо Invoke надо использовать BeginInvoke(m_spik, null, this) тока вот не всегда доходит вызов до клиента (ну где то примерно в 10% случаев), бывает с задержкой, а бывает через пару (величина не постоянная) секунд может это сервер дурит, и имеет смысл сделать масштабирование, т.е. 1 конечная точка и пару серверов? или может есть другой способ оптимизировать работу приложения? т.е. что б сообщения гарантированно доходили до клиента пусть даже с незначительной задержкой. буду оч рад совету |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |