Mangoz | Дата: Пятница, 16 Ноября 2012, 11:16 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
| Очень понравился плагин Alex’a (ICQ - ЧАТ клиент-сервер), возник ряд вопросов.
1. Если случайно закрыли сервер или к примеру выпал провод, как сделать оповещение клиентам, что сервер не доступен, ведь когда закрываешь серверное окно программы, клиенты не оповещаются и их сообщения не отправляются.
2. При запуски клиента как проверить связь до хоста (пинг), условием если есть, если нету. 3. Не понял, как чистить editbox где вводится сообщение для отправки, после нажатия кнопки отправить старый текст не удаляется.
4. Проверял с другом на разных машинах. Если мы начинаем вводить текст одновременно, то у нас у обоих слетает курсор. Т.е Он начинает писать, а у меня отрезается слово, приходится кликать и дописывать, начинаю дописывать, слетает у него.
5. В Общем чате куда летит весь текст, предложения опускаются вниз, образуя скролл, очень не удобно. Как чистить его, к примеру после каждых 20-30 строк?
6. Не стабильно работают приватные сообщения. Общий работает прекрасно.
MMB. Найдём всё!
|
|
| |
Alex3A | Дата: Пятница, 14 Декабря 2012, 05:40 | Сообщение # 2 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Mangoz) 1. Если случайно закрыли сервер или к примеру выпал провод, как сделать оповещение клиентам, что сервер не доступен, ведь когда закрываешь серверное окно программы, клиенты не оповещаются и их сообщения не отправляются. А ни как, зачем, там по моему клиент в онлайне, и дисконект отрабатывается на уровне тср ип протокола, если сервер отвалился то клиент об этом знает. Счасс не скажу, давно не смотрел, но по логике вещей я стопудов должен был бы вывести дисконект в события. Все события передаются кодом в скрипт в свойствах плагина. А вот для определения кто онлайн, есть функция.
Quote (Mangoz) 2. При запуски клиента как проверить связь до хоста (пинг), условием если есть, если нету. А зачем? Если не подключился значит связи нет, событие выводится. Тебе ведь нужен не пинг, а соединение с сервером, если сервер не запущен, то ни какой пинг не поможет. Соединение с сервером это низкоуровневый процесс протокола тсп ип, который в отличии от пинга просто дает знать есть или нет соединения с сервером, и работает быстрее, пинг же возвращает статистику попыток связатся, и по времени дольше. Так что условие есть или нет там проверяется автоматом. Следом за фунцией коннект идет сам запрос, но уже поверх тсп ип, если конект конечно есть, а если нет, генерируется событие. Транспорт тсп ип работает в скрытом режиме, он не отображается в трафике, то есть каг бы ни чего не передается.
Quote (Mangoz) 3. Не понял, как чистить editbox где вводится сообщение для отправки, после нажатия кнопки отправить старый текст не удаляется.
Это не проблема плагина, чисть едитбокс средствами ммб, он ммбешный, а ж не знаю какую из версий демок ты юзаешь. И это просто демки, что бы ты смог слепить свой вариант, они изначально избыточны.
Quote (Mangoz) 4. Проверял с другом на разных машинах. Если мы начинаем вводить текст одновременно, то у нас у обоих слетает курсор. Т.е Он начинает писать, а у меня отрезается слово, приходится кликать и дописывать, начинаю дописывать, слетает у него. Это просто бред какой то, набор текста в одном месте ни как не связан с набором текста в другом месте, ты сначала набираешь текст, а уж затем его передаешь, так что смотри за своими оч умелыми ручками, что то наковырял не так.
Quote (Mangoz) 5. В Общем чате куда летит весь текст, предложения опускаются вниз, образуя скролл, очень не удобно. Как чистить его, к примеру после каждых 20-30 строк? Что такое общий чат? Эт может быть окошко на сервере? Сервер есть сервер, он предает сообщения от одного клиента к другому, в этом его и задача, он вообще должен быть немым и глухим, в смысле интерфейса, текст должны видеть только клиенты. Я вывел окошко на сервере лишь в познавательных целях, что бы строители чатов понимали суть происходящих процессов. Ты же очевидно юзаешь его в роли тотального шпиона мониторящего весь трафик. Да, я так сделал в примере, но не для пользования а в учебных целях. Пойми, то что я выложил это не готовый чат, а демонстрация работы плагина, как его использовать для похожих задач. Это учебное пособие, ты его должен изучить и построить свою версию, и в ней ты должен использовать только то что тебе действительно нужно, а демка показывает все внутренности.
Quote (Mangoz) 6. Не стабильно работают приватные сообщения. Общий работает прекрасно. И это дурня, возможно ты просто давишь сервер, север получив сообщение рассылает его по своему внутреннему списку всем, получив приватное сообщение он ищет в том же списке указанного в сообщении клиента. И тут есть ньюанс, который я ввел специально, если клиент не зарегился он не может получать частных сообщений, ну это как на деревню к дедушке, чо с тобой говорить когда не знаю кто ты таков. А для всех, можно просто и пообщаться инкогнито. Типа, "ей народ, кто там еще дышит... да пшел ты" Вроде я сделал все пошагово, но ты можешь переделать автоматом и соединение и регистрацию.
|
|
| |