Вниз
Скачать: 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.016 c
14-45502
Cr@sh
2002-09-16 18:54
2002.10.14
Как можно довести училку в школе?


14-45520
MsGuns
2002-09-17 21:47
2002.10.14
Как достать недозрелых бездельников


4-45626
Deus
2002-08-29 18:21
2002.10.14
Как запустить прогу и получить handle её главного окна?


4-45615
Igor__
2002-08-29 14:29
2002.10.14
Стили ХР


1-45416
Демонов Е.В.
2002-10-03 12:06
2002.10.14
Вопрос О DLL




   Наверх