Verificar a execução do meu aplicativo

Delphi

06/07/2006

Bom dia a todos.

Gostaria de saber como faço para verificar se meu aplicativo está sendo executado em outras máquinas numa Rede TCP / IP.

Grato pela atenção.


Turbo Drive

Turbo Drive

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

06/07/2006

Um idéia seria vc usar o esquema de Socket, onde que envia uma requisição para uma determinada porta, e seu programa iria responder na mesma, informando o nome da máquina, ip e o usuário.


GOSTEI 0
Turbo Drive

Turbo Drive

06/07/2006

Bem, o lance que eu preciso resolver é o seguinte:
No meu cliente vai ser permitido rodar 4 licenças, 2 sistemas A e 2 Sistemas B, distribuídos para 3 máquinas (M1, M2 e M3).
O q eu preciso fazer é o controle de entradas dessas máquinas.
EX:
Sistema A B
M1 Entrou Entrou
M2 Entrou
M3 Entrou

Conforme o exemplo se M2 tentar entrar no sistema B, este deverá ser barrado ou se M3 tentar entrar no sistema A, tb deverá ser barrado.
Como faço este tipo de controle ?


GOSTEI 0
Luciano.sul

Luciano.sul

06/07/2006

Uma ideia, se tu trabalha com banco de dados, exemplo FireBird eu ja li, mas nao me lembro onde, tem como saber quantas estacoes estao conectadas com o banco, dai tu estipula um limite de maquinas conectadas. Se ultrapassar este limite o teu sistema avisa.

Uma ideia.... :D

Espero ter ajuda....

Luciano Ramos


GOSTEI 0
Turbo Drive

Turbo Drive

06/07/2006

Eu utilizo Mysql. Para saber quais estações estão conectadas, basta utilizar o comando ´Show processlist´.
O problema, é como saber qual sistema cada máquina está utilizando, de acordo com o exemplo que passei.

Alguém teria alguma idéia ?


GOSTEI 0
Turbo Drive

Turbo Drive

06/07/2006

Ninguém tem uma idéia?


GOSTEI 0
Renatosilva

Renatosilva

06/07/2006

Olha essa função aqui:

// MutexName eh um identificador único para a sua aplicação
// tipo com.softfacil.xpto.UltraPowerApp.1.5.2.3

function JaExecutando(MutexName: string);
var
  MutexHnd: Cardinal;
begin
  MutexHnd := CreateMutex(nil, False, PChar(MutexName));
  Result := GetLastError = ERROR_ALREADY_EXISTS;
  // use CloseHandle(MutexHnd); para liberar o mutex  
end;



Acho que usa a unit Windows. Pega ela e adapta pra você. Dá uma pesquisada por delphi + mutex também ;)


GOSTEI 0
Renatosilva

Renatosilva

06/07/2006

CAral, viajei legal na maionese, tu ta falando de rede né.. tssssssss :oops: :oops: :oops: :oops:

mas sei lá, de repente se tivesse como verificar um mutex remotamente...


GOSTEI 0
POSTAR