Вниз
Скачать: 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.012 c
4-45640
fester
2002-08-31 21:28
2002.10.14
exitprocess


6-45487
Alex_LG
2002-07-08 14:28
2002.10.14
Как узнать тип коннекта в инет - Dial-up или LAN ?


1-45413
СлБ
2002-10-03 12:52
2002.10.14
Фиксация ToolButton


3-45221
vich
2002-09-23 22:00
2002.10.14
Как прописать файлы библиотек в программе?


3-45220
Picco
2002-09-20 11:50
2002.10.14
Вложенные хранимые процедуры MSSQL 2000




   Наверх