|
Как замутить чат в 1С 8.2 без обработчика ожидания? | ☑ | ||
---|---|---|---|---|
0
zsergey
19.01.14
✎
10:47
|
Не нравиться мне реализация с ОбработчикомОжидания. Пользователей ожидается много (до 200), пусть периодичность опроса сообщения будет 5 сек, уже нагрузка на базу. Какие еще могут быть варианты? ВК не предлагать, интеграция с ICQ сервисами, и прочую лабуду не предлагать, нужно сделать час в пределах базы.
|
|||
1
zsergey
19.01.14
✎
10:49
|
"нужно сделать час" -> нужно сделать чат
|
|||
2
jsmith82
19.01.14
✎
10:49
|
>>ВК не предлагать
у ВК тоже много глюков, тоже нажимаешь Обновить |
|||
3
xReason
19.01.14
✎
10:50
|
Ты видимо никогда не программировал. Все чаты работают через своего рода "Обаботчики ожиданий"
|
|||
4
jsmith82
19.01.14
✎
10:50
|
(3) я писал обработчики для 386-го, когда ты под стол пешком ходил
в чём проблема |
|||
5
jsmith82
19.01.14
✎
10:51
|
(3) прости )))
|
|||
6
jsmith82
19.01.14
✎
10:52
|
ну а реально, в чём проблема
тоже сейчас стоит такая задача |
|||
7
zsergey
19.01.14
✎
10:55
|
Да нет никакой проблемы! Погу написать этот чертов чат за 30 мин. МНЕ ПРОСТО ИНТЕРЕСНО, можно ли как-то по другому, может я что-то не знаю :)) Что вы так накинулись?
|
|||
8
jsmith82
19.01.14
✎
10:57
|
>>уже нагрузка на базу
имхается, тут пошла нить неверных дум |
|||
9
jsmith82
19.01.14
✎
10:57
|
либо Обновить, либо Обработчик
одно из двух |
|||
10
xReason
19.01.14
✎
10:58
|
(4) Наезды не обснованные
|
|||
11
jsmith82
19.01.14
✎
11:00
|
(10) я извинился. попутал с ТС )
|
|||
12
zsergey
19.01.14
✎
11:03
|
в общем ясно, тему можно закрывать :)
|
|||
13
jsmith82
19.01.14
✎
11:06
|
(12) ясно что? что либо прерывания, либо обновить? ну это очевидно
|
|||
14
zsergey
19.01.14
✎
11:08
|
ясно, что по другому никак. Достал ты уже :)
|
|||
15
Зойч
19.01.14
✎
11:18
|
Поле HTML - и любой чат на выбор
|
|||
16
jsmith82
19.01.14
✎
11:19
|
(15) там движок старый. не прокатит
|
|||
17
AlexITGround
19.01.14
✎
11:27
|
Тема интересная, поэтому UP-ну
|
|||
18
oleg_km
19.01.14
✎
11:36
|
У нас подсистема Сообщения использует WinSock. Даже здесь на мисте неоднократно писалось. Использую лет 10, еще на фокспре, идаже раноше на дельфях.
|
|||
19
jsmith82
19.01.14
✎
11:51
|
(18) это на аппаратном уровне типа?
|
|||
20
jsmith82
19.01.14
✎
11:52
|
расскажи подробней. я сейчас как раз пишу подсистему на овер 100 людей
|
|||
21
jsmith82
19.01.14
✎
11:53
|
а, всё, понял. риквест пакет
|
|||
22
oleg_km
19.01.14
✎
12:09
|
(19) Где тут аппаратный уровень? Голимое API. Просто клиент опрашивает базу не по таймеру, а при запуске создает слушающий сокет UDP, регистрирует сеанс со своим IP и портом в базе. Когда отправитель отправляет сообщение, то он смотрит в базе сеансы пользователей и рассылает им датаграммы. Клиент получает датаграмму и делает запрос в базу: есть ему сообщение. Схематично это выглядит так
|
|||
23
jsmith82
19.01.14
✎
12:10
|
(22) ок
|
|||
24
1СКонсультант
19.01.14
✎
12:37
|
Простите за тупой вопрос, но я в этом плане нуб. А зачем обработчик ожидания? Я так себе представляю - сделать чат в виде дс и поставить автообновление 5 секунд и не парится. В чем трудность?
|
|||
25
oleg_km
19.01.14
✎
12:46
|
(24) В чем отличие обработчика ожидания и автообновления? Вернее, как на 1С можно реализовать автообновление, кроме как используя обработчик ожидания?
|
|||
26
jsmith82
19.01.14
✎
12:51
|
(25) +100500
|
|||
27
sikuda
19.01.14
✎
13:00
|
(0) сделать чат не средствами 1С(nodejs), а хранить данные в 1С - не думал этом?
|
|||
28
sikuda
19.01.14
✎
13:02
|
Вот даже есть база с которой начать http://infostart.ru/public/202956/
|
|||
29
IamAlexy
19.01.14
✎
13:03
|
(0) ну сделай динамический список выводящий сообщения чата..
чо ты как маленький.. в нем поставь по умолчанию период обновления 3 сек.. и все. |
|||
30
zsergey
19.01.14
✎
13:12
|
(28,29) не пойдет, у нас база в режиме ОП (УПП)
А на HTML в ОП не взлетит, если верить в (16) |
|||
31
1СКонсультант
19.01.14
✎
13:29
|
(25) в настройке списка ставишь автообновление и все
|
|||
32
Злопчинский
19.01.14
✎
13:35
|
(29) вот нафейхоа обновлять каждые 3 секунды.. если состояние изменяется например непредсказуемо...? сообщение пришло - вот пусть ТОГДА и автообновляется
|
|||
33
vlandev
19.01.14
✎
13:56
|
Может какую-то хранимку умную написать в скуле , ну или там фоновое задание , которое будет событие посылать клиенту , а у клиента по событию будет обработчик срабатывать? Такой вариант можно на 1С реализовать?
|
|||
34
Злопчинский
19.01.14
✎
14:02
|
(33) ну, на клюшках в файловом варианте чаты такие есть - ставится отслеживание папки/файла - как изменение произошло - генерится внешнее событие - 1Ска его отрабатывает шттано. как в снеговике - видимо все сложнее.. особенно в тонких клиентах..
|
|||
35
DrLekter
19.01.14
✎
14:09
|
Подписка на событие - не?
|
|||
36
sda553
19.01.14
✎
14:14
|
(0) Никак. Любой обработчик внешнего события после подключения физически так же опрашивает сервер с некоторой периодичность, не появилось ли нового сообщения для него.
Т.е. создает ту же нагрузку на сервер. |
|||
37
oleg_km
19.01.14
✎
14:37
|
(36) Winsock не создает ту же нагрузку, что и автообновление
|
|||
38
sikuda
19.01.14
✎
15:12
|
(30) html поле само может опрашивать сервер, без 1С.
И для тебя будет откровением, но средства урезанного IE7 в 1С на порядок богаче нативных 1С. Проблема с html в 1С только одна - как-же сделать совместимое IE7 и html5. |
|||
39
Лефмихалыч
19.01.14
✎
16:30
|
(0) если отказаться от идиотской идеи делать чат в базе, то и проблем с обработчиками ожиданий не будет.
Юзайте почту, джабер или что угодно еще |
|||
40
oleg_km
19.01.14
✎
16:37
|
(39) Почему почта не является базой?
|
|||
41
IamAlexy
19.01.14
✎
16:38
|
еще раз тупому объясните - чем динамический список то не угодил ?
|
|||
42
oleg_km
19.01.14
✎
16:40
|
(41) Ну типа если пользователю никто не пишет, то он втупую дергает базу. А как в этом случае первоначальный вызов организовать? Ведь пользователь не будет весь день пялиться в динамический список
|
|||
43
Лефмихалыч
19.01.14
✎
16:40
|
(41) динамический список не может самопроизвольно открыть поверх всего, когда пришло самое важное за весь день сообщение "Привет, как дела"
|
|||
44
Котокот
19.01.14
✎
16:43
|
(43) Может
|
|||
45
mrDSide
19.01.14
✎
16:59
|
(0) На сервере фоновый процесс запусти (Регламентное задание), которое будет обрабатывать твой регистр и отправлять нужным пользователям сообщения (каждый клиент сам будет писать сообщение и адресата в регистр).
|
|||
46
GANR
19.01.14
✎
17:12
|
(0) ActiveX какие-нибудь прикрутить, сокеты.
|
|||
47
Torquader
19.01.14
✎
17:27
|
На самом деле, если брать поле html-документа, то из него можно сделать запрос к серверу, без запроса никак не взлетит, но никто не говорит, что сервер должен сразу ответить.
Обычно, сервер сразу отвечает заголовком, а потом несколькими порциями с интервалами в несколько минут передаёт информацию о событиях. Я, например, для этого писал специальный сервер на php, который открывает на каждого клиента отдельное соединение, и, если клиенту нужно что-то сообщить, то пишет в указанный сокет информацию, а если событий какое-то время нет, то посылается пустой пакет обмена, чтобы соединение не рвалось по тайм-ауту. |
|||
48
mrDSide
19.01.14
✎
17:53
|
(45) +
Глобальный контекст (Global context) ПоказатьОповещениеПользователя (ShowUserNotification) Синтаксис: ПоказатьОповещениеПользователя(<Текст>, <НавигационнаяСсылка>, <Пояснение>, <Картинка>) Параметры: <Текст> (необязательный) Тип: Строка. Текст оповещения. <НавигационнаяСсылка> (необязательный) Тип: Строка. Навигационная ссылка. Показывается как гиперссылка. При нажатии на нее происходит переход по указанной ссылке. <Пояснение> (необязательный) Тип: Строка. Пояснение оповещения. <Картинка> (необязательный) Тип: Картинка. Картинка, которая будет показана в оповещении. Описание: Показывает окно, по умолчанию располагающееся внизу экрана, которое постепенно затухает и исчезает с экрана. В окне может располагаться ссылка, выбор которой вызывает определенные для ссылки действия (например, открытие формы). Доступность: Тонкий клиент, веб-клиент, толстый клиент. Примечание: Ссылка выдается, если указан параметр <Пояснение>. сюда ссылку на запись регистра. |
|||
49
George Wheels
19.01.14
✎
18:12
|
Мне понравилось (35). Создать левый справочник, документ,... и подписку на событие.
|
|||
50
mrDSide
19.01.14
✎
18:45
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |