Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Взаимодействие программ запущенных на разных машинах   Найти похожие ветки 

 
bobr12   (2002-09-23 10:19) [0]

Ситуация такая: сеть из 6 компьютеров на одной запущен IB-сервер, на 5 остальных одна и та же программа. При входе в программу пользователю необходимо идентифицировать себя - у каждого человека свой код. Не хотелось бы, чтобы один пользователь запускал программу и идентифицировал себя на разных машинах. Как можно сделать чтобы пользователю это не удавалось?
Я попробовал сделать так: когда пользователь идентифицирует себя - в БД IB появляется запись о том, что этот пользователь уже ведет работу, когда он выходит из программы - эта запись удаляется. Но тогда возникает такая проблема, а если выход произойдет некорректно (сбой питания или еще что) - тогда в БД останется запись, что он продолжает работу - и придется эту запись удалять вручную.
Кто-нибудь может что-нибудь посоветовать?


 
Andriano ©   (2002-09-23 10:33) [1]

Есть возможность (код я где-то встречал) получать список активных пользователей. При запуске смотришь есть ли этот пользователь, если есть - сообщаешь, выходишь.
А ещё - кажется в IB можно накладывать ограничение на аккаунт для пользователя.


 
BlackTiger   (2002-09-23 11:54) [2]

Ничего простого тут посоветовать нельзя.
В принципе это делается так: есть сервер, на нем крутится отдельный процесс, который следит за текущими сейдинениями, грубо говоря периодически "пингует" каждое зарегестрированное соединение. Клиентское приложение регестрируется как соединение и работает. А сервер следит за активностью и, если на том конце не отзываются, то соединение разрывается.

Все более простое - нестабильный геморрой, который будет работать только при соблюдении большого числа "если".

Есть чуть-чуть более простой вариант, когда клиентской приложение посылает серверу пакет "я-еще-жив", а сервер следит, когда в последний раз приходил такой пакет и разрывает контакт с клиентом после таймаута.

Успехов

З.Ы.: Подумай, а оно тебе надо?



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
6-45496
Димон1
2002-08-13 09:56
2002.10.14
ClientSocket.Connected НЕ ОБНОВЛЯЕТСЯ !


1-45344
Leshka18
2002-10-06 00:30
2002.10.14
Как скомпилить?


3-45237
Димон1
2002-09-20 12:26
2002.10.14
Можно ли так сделать? ADOQuery1.Parameters ....


1-45302
кондратий
2002-10-04 17:38
2002.10.14
Not enough timers available.


6-45495
John Kayfolom
2002-08-12 16:19
2002.10.14
Голосовой чат