Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-45385
Антон К.
2002-09-19 20:02
2002.10.14
Маша сильно болеет туберкулезом.


7-45602
AlexNO
2002-08-06 13:24
2002.10.14
Сканирование


1-45292
Andrei_Yarovoi
2002-10-04 16:29
2002.10.14
Как при выполнение длинного цикла отлавлевать другие сабытия


1-45294
Gaber
2002-10-02 16:09
2002.10.14
Свой проект при запуске


4-45619
Карлсон
2002-08-29 23:20
2002.10.14
Опять про хендлы.




   Наверх